我有一个问题,我需要在 ODBC 中搜索一个保留字的值。所以:
SELECT * FROM Customer WHERE AccountNumber = 'Sum'
在这种情况下,'Sum' 是一个保留字,所以我得到一个语法错误。在访问中,错误是“SELECT 语句包含拼写错误或丢失的保留字或参数名称,或者标点符号不正确”
有没有办法可以搜索这样的字符串?
参数化您希望用作 WHERE 子句一部分的字符串,因为我在使用关键字“PRIORITY”时遇到了同样的问题。修改 C# 代码以使用参数后,它工作。
using (OdbcCommand command = conn.CreateCommand())
{
command.CommandText = "SELECT account_ref FROM SALES_LEDGER WHERE account_ref = '?'";
command.Parameters.Add(new OdbcParameter("?", accountCode));
using (OdbcDataReader reader = command.ExecuteReader())
{
...
}
}
而不是专门搜索“总和”。你可以试试:
SELECT * FROM Customer WHERE AccountNumber LIKE('%Sum%')