这是一个数据库驱动的货币转换器,程序必须从数据库中获取汇率并显示它们。我使用Microsoft Access创建了数据库,所有数据类型都设置为" Currency"除了日期字段,它是"日期/时间"。
这是我迄今为止所做的。
sql = "SELECT TOP 1 USD,EUR,GBP FROM dbexchangeRates WHERE Date='" & DateTimePicker1.Text.ToString & "'"
Using connection As New OleDb.OleDbConnection(strConnectionString),
command As New OleDb.OleDbCommand(sql, connection),
adapter As New OleDb.OleDbDataAdapter(command)
connection.Open()
adapter.Fill(ds, "rates")
connection.Close()
End Using
这是" System.Data.OleDb.OleDbException类型的例外'发生在System.Data.dll中但未在用户代码中处理。附加信息:标准表达式中的数据类型不匹配。"当我跑步时出现。 我被告知要进行数据验证,但我不确定我想要使用哪些验证。
谢谢。
答案 0 :(得分:0)
问题可能是DateTimePicker1.Text.ToString
没有返回有效日期,这使得查询失败。可能的原因:
要做到这一点,请使用调试器或简单的print语句来查看DateTimePicker1_ValueChanged
的内容。
当你看到它时,问题可能很明显;如果没有,您也可以尝试在Access中手动运行该sql语句,看看会发生什么。