首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

ORA-00936: 缺少表达式解决思路

2014-01-01 
ORA-00936: 缺少表达式用OleDb连接ORACLE数据库时,查询代码string sql @SELECT * FROM DBCENTERUSER WH

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出来,放到数据库执行下,看会不会报错

热点排行