jsp利用id字段(自动编号)读取ACCESS记录出错?提示数据类型不匹配
id字段是自动编号,其他页面传来的id值,利用
String strSql="select * from message where id='"+ request.getParameter("id") +"'" ;
结果出错:
javax.servlet.ServletException: [Microsoft][ODBC Microsoft Access Driver] 标准表达式中数据类型不匹配。
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:682)
org.apache.jsp.edit_jsp._jspService(edit_jsp.java:106)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:136)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:320)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:293)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
问题点数:50、回复次数:8Top
1 楼siriuscor(siriuscor)回复于 2005-05-11 16:05:37 得分 10
自动编号是int类型,不用加"'",
即String strSql="select * from message where id="+ request.getParameter("id");
Top
2 楼lingdou()回复于 2005-05-11 16:33:00 得分 0
路过!顶Top
3 楼extraleo(刚学会如来神掌)回复于 2005-05-11 16:35:54 得分 10
access 不向sqlserver那样可以隐式转换字符!你操作数字的时候不要单引号就可以了!
但如果你用sqlserver就不会报错Top
4 楼wzy19514(凡事留一线,日后好相见)回复于 2005-05-11 16:39:54 得分 10
同意siriuscor(siriuscor) 的说法,如id是int类型,sql就写错了。Top
5 楼EchoEverything(小E)回复于 2005-05-11 16:40:06 得分 10
直接用 request.getParameter("id") 也不是好习惯,如果没有取到值,将得出null值,也会报错的Top
6 楼nimifeng(学海无涯.......苦作舟....理解是美!!!Mars.Neil)回复于 2005-05-11 16:46:08 得分 10
同意楼上们的...
最好是在sql语句之前判断一下是不是为空Top
7 楼knoweast(knoweast)回复于 2005-05-17 17:20:02 得分 0
非常感谢大家~!
还是应该好好去打一下基础。Top
8 楼lyflip()回复于 2005-05-17 17:24:30 得分 0
你操作数字的时候不要用单引号!还有就是:最好是在sql语句之前判断一下是不是为空Top




