我有一个非常简单的访问表。使用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。
答案 0 :(得分:0)
确保数据类型与数据库中的数据类型匹配,与数据集中的数据类型匹配。
答案 1 :(得分:0)
我认为Givelasdougmore试图说的是,你不应该在数据库中使用像“时间”,“更新”,“删除”这样的词作为列名
尝试将列名“Time”更改为“Creationdatetime”或类似的内容。一切都应该有效