【发布时间】:2020-04-27 16:16:40
【问题描述】:
如果我想检索在 access 数据库中保存为数字的值。
我正在使用以下内容:
Dim sql As String = "SELECT ArithmeticScore FROM " & tablename & " WHERE DateAscending = '" & todaysdate & "'"
Using connection As New OleDbConnection(getconn)
Using command As New OleDbCommand(sql, connection)
connection.Open()
scorevalue = CDec(command.ExecuteScalar()) 'Data type mismatch in criteria expression.
connection.Close()
End Using
End Using
MsgBox(scorevalue)
getconn = 连接字符串作为字符串
scorevalue = 没有十进制
表格中ArithmeticScore字段设置为Number。
现在单元格中的确切值是50,但程序应该允许任何十进制值。
我得到的错误是“标准表达式中的数据类型不匹配”。
【问题讨论】:
-
哎呀,这看起来容易受到 sql 注入问题的影响。
-
什么是数据库,
DateAscending列的数据类型是什么?如果是 SQL Server,那么你真的应该使用SqlClient而不是OleDb。 -
@jmcilhinney 我用谷歌搜索了错误消息的确切文本,似乎表明访问。