大佬教程收集整理的这篇文章主要介绍了在 MS Access 中保存来自 VB.Net Windows 窗体的数据,出现错误 System.Data.OleDb.OleDbException:“条件表达式中的数据类型不匹配。”,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
str = "INSERT INTO Rent_transaction ([Username],[Type],[Plate No],[Start Date],[End Date],[@R_56_10586@l])
VALUES('" & UsernameLog.Text & "','" & LabelType.Text & "','" & Plate.Text & "','" & StartDate.Text & "','" & EndDate.Text & "','" & @R_56_10586@l.Text & "')"
con.open()
cmd = New oleDbCommand(str,con)
cmd.ExecuteNonquery()
'represents sql and db connection that are used to fill the data set and update the data source
da = New oleDbDataAdapter(cmd)
'to check if there are any matches in the table
da.Fill(ds,"Rent_transaction")
con.Close()
con.dispose()
@H_673_4@
错误在 cmd.ExecuteNonquery 中。我无法在ms访问中保存数据
这里我将如何执行将记录插入到您的表中的任务:
Using con As OleDbConnection = New OleDbConnection(......)
Dim str = "INSERT INTO Rent_transaction ([Username],[Type],[Plate No],[Start Date],[End Date],[@R_56_10586@l])
VALUES(@name,@type,@plate,@init,@end,@@R_56_10586@l)"
con.open()
Dim cmd As OleDbCommand = New OleDbCommand(str,con)
cmd.Parameters.Add("@name",OleDbType.VarWChar).Value = UsernameLog.Text
cmd.Parameters.Add("@type",OleDbType.VarWChar).Value = LabelType.Text
cmd.Parameters.Add("@plate",OleDbType.VarWChar).Value = Plate.Text
cmd.Parameters.Add("@init",OleDbType.DatE).Value = Convert.TodatetiR_84_11845@e(StartDate.Text)
cmd.Parameters.Add("@end",OleDbType.DatE).Value = Convert.TodatetiR_84_11845@e(EndDate.Text)
cmd.Parameters.Add("@@R_56_10586@l",OleDbType.Integer).Value = Convert.ToInt32(@R_56_10586@l.Text)
cmd.ExecuteNonQuery()
End Using
@H_673_4@
第一个更改是围绕创建 OleDbConnection 的 Using 语句。这将确保在代码退出 End Using 时正确关闭/处理连接。即使使用基于本地文件的数据库(如 MS-Access),这样做始终是最好的做法。
第二个变化是查询文本,现在我们有一个包含参数占位符的字符串。不再串联,不再引用变量,更易于阅读和理解构造。
第三个变化是参数的构建。如您所见,每个参数都定义了一个类型,该类型应与数据库表字段所期望的类型相匹配。 注意如何将最后三个参数的值转换为数据表预期的假定类型。这样,我们就不允许数据库自行执行转换,这可能会导致“类型不匹配”。
最后,所有与 OleDbDataAdapter 相关的代码都被删除了。
以上是大佬教程为你收集整理的在 MS Access 中保存来自 VB.Net Windows 窗体的数据,出现错误 System.Data.OleDb.OleDbException:“条件表达式中的数据类型不匹配。”全部内容,希望文章能够帮你解决在 MS Access 中保存来自 VB.Net Windows 窗体的数据,出现错误 System.Data.OleDb.OleDbException:“条件表达式中的数据类型不匹配。”所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。