ORA-00936: 缺少表达式
用OleDb连接ORACLE数据库时,查询代码
string sql = @"SELECT * FROM DBCENTERUSER WHERE USERNAME = @UserName ";
OleDbParameter parameter = new OleDbParameter("@UserName",userName);
OleDbDataReader dataReader = DBSQLHelper.ExecuteReader(sql, parameter);
其中,ExecuteReader为
public static OleDbDataReader ExecuteReader(string sql, OleDbParameter value)
{
OleDbCommand cmd = new OleDbCommand(sql, Connection);
cmd.Parameters.Add(value);
OleDbDataReader reader = cmd.ExecuteReader();
return reader;
}
执行到OleDbDataReader reader = cmd.ExecuteReader(),报ORA-00936: 缺少表达式错误
奇怪的是,当我把上面的参数@UserName直接换成值时就不会报错了
求大神指教
[解决办法]
你调试的时候把整个sql都copy出来,放到数据库执行下,看会不会报错