【发布时间】:2011-03-08 18:55:16
【问题描述】:
我目前正在连接并使用 MS Access 数据库。我可以很好地执行通用 select * 查询,因此我已连接到数据库,但是当我尝试使用参数进行选择时,它会引发缺少运算符异常。
string selectStatement = "Select ID from pages where page_title = ? limit 1";
string title = Request.QueryString["pagetitle"];
OleDbCommand selectCommand = new OleDbCommand(selectStatement, conn);
selectCommand.Parameters.Add("@p1",OleDbType.VarChar);
selectCommand.Parameters["@p1"].Value = System.Web.HttpUtility.UrlDecode(title);
OleDbDataReader selectResult = selectCommand.ExecuteReader();
我得到的错误是在 ExecuteReader 行:
Exception Details: System.Data.OleDb.OleDbException: Syntax error (missing operator) in query expression 'page_title = ? limit 1'.
我尝试在查询中使用 @p1 以及当前的 ?。我尝试以不同的方式添加参数,包括删除参数名称中的@。似乎没有任何效果。有人能指出我正确的方向吗?
【问题讨论】: