尝试查看DataGridView时发生VB.NET异常

时间:2011-11-07 01:04:59

标签: database vb.net visual-studio-2010 datagridview oledb

我有一个非常简单的访问表。使用OLEDB适配器从VB.NET存储数据。我有第二个表单只有一个DataGridView,它使用VS2010从Data Sources窗口拖放。

第一次尝试查看窗口时没有显示数据,第二次发生异常并且程序关闭。

以下是自动生成的代码:

Public Class ViewSent

Private Sub SentBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SentBindingNavigatorSaveItem.Click
    Me.Validate()
    Me.SentBindingSource.EndEdit()
    Me.TableAdapterManager.UpdateAll(Me.DbDataSet)
End Sub

Private Sub ViewSent_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    'TODO: This line of code loads data into the 'DbDataSet.Sent' table. You can move, or remove it, as needed.
    Me.SentTableAdapter.Fill(Me.DbDataSet.Sent)


 End Sub

End Class

我遇到的具体问题是“文本”格式列,插入的数据是:

cmd2.Parameters.Add("Time", OleDbType.VarChar).Value = DateTime.Now.ToString().Trim()

在单击Form.ShowDialog()按钮后的立即窗口中,将显示以下消息: System.Data.dll

中出现'System.ArgumentException'类型的第一次机会异常

此外,数据不会加载到datagridview中。

关闭窗口然后单击相同按钮(根本没有更改数据)后会出现以下错误: 输入字符串的格式不正确。不能存储< 07/11/2011 00:55:06>在时间栏中。预期的类型是Int32。

2 个答案:

答案 0 :(得分:0)

确保数据类型与数据库中的数据类型匹配,与数据集中的数据类型匹配。

答案 1 :(得分:0)

我认为Givelasdougmore试图说的是,你不应该在数据库中使用像“时间”,“更新”,“删除”这样的词作为列名

尝试将列名“Time”更改为“Creationdatetime”或类似的内容。一切都应该有效