Operator/operand 类型不匹配

Operator/operand type mismatch

我正在使用 Visual FoxPro OLE DB provider 查询 VFP 数据库,我得到:

System.Data.OleDb.OleDbException 'Operator/operand type mismatch`

我可能做错了什么?

在我的 where 子句中,一侧有一个 int,另一侧有一个 char(15)

Table 架构

id int

查询

SELECT *
FROM [some-table]
WHERE id = 'some string'

就我而言,为了避免此类不便,我做了以下操作,希望对您有用:

var_name = iif(vartype(var_name)=='N',var_name,Val(var_name))

所以你避免了两个可能的错误,如果它出现在有值的字符中,我将它转换成数字,如果它出现在没有任何值的字符中,它就变成 0。

SELECT *
FROM [some-table]
WHERE id = ?Var_name