日期:2014-05-20  浏览次数:20771 次

附上java执行数据库查询代码,和报错信息。大家来看一下怎么回事~
代码:
PreparedStatement   stmt_customer   =   conn.prepareStatement( "select   level   from   customer   where   m_id   =   ? ");
stmt_customer.setString(1,   customerID);

rset_customer   =   stmt_customer.executeQuery();
if(rset_customer.next())      
{
                            .......
}

错误提示:
java.sql.SQLException:   [Microsoft][ODBC   Microsoft   Access   Driver]   LEVEL   子句中包含一个保留字、拼写错误或丢失的参数,或标点符号不正确。

而且没有进入if语句

请问是哪里出错了啊?

------解决方案--------------------
有一个关键字.
比如你不能在SQL Server里建一个叫user的表
------解决方案--------------------
你添加的customerID是什么内容,它里面可能有sql Server的关键字。
------解决方案--------------------
这个跟PreparedStatement无关吧,最普遍的问题,stmt_customer.setString(1, new String(strsource.getBytes( "ISO-8859-1 "), "GB2312 "))转一下就好了。