【发布时间】:2011-11-07 20:47:04
【问题描述】:
我有一个非常简单的表可以访问。数据使用 OLEDB 适配器从 VB.NET 存储。我有第二个表单,它只有一个 DataGridView,它是使用 VS2010 从“数据源”窗口拖放/拖放的。
第一次尝试查看窗口时没有显示数据,第二次出现异常并关闭程序。
这是自动生成的代码:
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 中。
关闭窗口然后单击相同的按钮后(根本没有更改数据)出现此错误: 输入字符串的格式不正确。无法在时间列中存储 。预期类型是 Int32。
【问题讨论】:
-
数据存储中该列的数据类型是什么?
-
数据类型为文本,存储为文本:md2.Parameters.Add("Time", OleDbType.VarChar).Value = DateTime.Now.ToString().Trim()。如果是存储数据的问题,那么插入时会出现此问题,而不是显示数据的问题。
标签: database vb.net visual-studio-2010 datagridview oledb