java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Invalid parameter binding(s)

来源:百度知道 编辑:UC知道 时间:2024/05/08 19:04:07
这个错误不知道怎么调啊 还有同时出现的是错误是 Servlet.service() for servlet action threw exception java.lang.RuntimeException: error.unexpected(后面省略)我是用JavaWebStudio做的struts程序十分急 在线等待
我把完整的内容加到BLOG里了 这里写不下了哦
http://hi.baidu.com/pr%5Flover/blog

你查询数据的sql 语句里面是否有参数,比如

select * from table where xx=?

可能是你没有设置参数值

if("NULL".equals(expression)||"".equals(expression))
sql+=m_TVshop_booksForm .getBook_id();
else
sql+=expression;
sql+="";

expression 如果为空,那 "NULL".equals(expression) 是肯定不行的, 另外条件不成立时, sql+=""; 里面好象少了 ' 吧,应该是sql+="'";

首先肯定的是错误提示是你的参数有错误

String sql="SELECT * FROM dbo.TVshop_books";

if("search".equals(search))
{
sql+=" where book_id=";
if("NULL".equals(expression)||"".equals(expression))
sql+=m_TVshop_booksForm .getBook_id();
else sql+=expression;
}
这里book_id后面接的参数必须是数字,否则就会报错。
再看你这个判断你的意思是如果expression为null或者为空字符串。。应该是写:
if (expression == null || "".equals(expression))

而且expression必须接着数字,你也少了 判断。。
最直接的检查办法就是先把expression写死