0

我有一个问题,我需要在 ODBC 中搜索一个保留字的值。所以:

SELECT * FROM Customer WHERE AccountNumber = 'Sum'

在这种情况下,'Sum' 是一个保留字,所以我得到一个语法错误。在访问中,错误是“SELECT 语句包含拼写错误或丢失的保留字或参数名称,或者标点符号不正确”

有没有办法可以搜索这样的字符串?

4

2 回答 2

1

参数化您希望用作 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())
   {
      ...
   }
}
于 2015-08-28T14:11:39.923 回答
0

而不是专门搜索“总和”。你可以试试:

SELECT * FROM Customer WHERE AccountNumber LIKE('%Sum%')
于 2013-09-16T14:19:26.260 回答