mysql 数据库中不能插入' 怎么办??

celia_wind 2008-11-30 08:37:48
type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.Exception: insert data exception: Syntax error or access violation message from server: "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'aaa')' at line 1"
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:522)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:398)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

root cause

javax.servlet.ServletException: java.lang.Exception: insert data exception: Syntax error or access violation message from server: "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'aaa')' at line 1"
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:850)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
org.apache.jsp.dealadd_jsp._jspService(dealadd_jsp.java:119)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

root cause

java.lang.Exception: insert data exception: Syntax error or access violation message from server: "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'aaa')' at line 1"
bean.dbConn.insert(dbConn.java:76)
org.apache.jsp.dealadd_jsp._jspService(dealadd_jsp.java:105)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.16 logs.

...全文
262 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
TJYnebula 2008-12-02
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 Landor2004 的回复:]
用prepareStatement来操作,而不用直接拼接字符串形式
[/Quote]
顶,有好方法就要用, (?,?)这种形式很好,比起写一大堆','',''',''方便多了
Landor2004 2008-12-02
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 huang21chong 的回复:]
12楼把类都搞错了是
PreparedStatement 不是prepareStatement
[/Quote]
不要这么咬文嚼字吧,晕!
huang21chong 2008-12-02
  • 打赏
  • 举报
回复
12楼把类都搞错了是
PreparedStatement 不是prepareStatement
gosure 2008-12-02
  • 打赏
  • 举报
回复
2楼可行.
中鱼文林 2008-12-02
  • 打赏
  • 举报
回复
sql 语法的问题,貌似数据中单引号是需要转义的,一般用连续的三个单引号就可以了,试试看

insert into T_user value (1,'''hello''');

mldxs 2008-11-30
  • 打赏
  • 举报
回复
把程序贴出来啊 ~
这样大家怎么看啊 ?
yanliping1107 2008-11-30
  • 打赏
  • 举报
回复
up
celia_wind 2008-11-30
  • 打赏
  • 举报
回复
这样好像不太现实呀!因为是一篇文章,在哪个地方会出现', 我也不知道,除非出错我才会知道 呀,还有没有别的方法呀?一篇文章中会出现多少个' ,我也不清楚 呀……帮忙想点别的方法呀……谢谢啦!!
celia_wind 2008-11-30
  • 打赏
  • 举报
回复
这样好像不太现实呀!因为是一篇文章,在哪个地方会出现', 我也不知道,除非出错我才会知道 呀,还有没有别的方法呀?一篇文章中会出现多少个' ,我也不清楚 呀……帮忙想点别的方法呀……谢谢啦!!
老紫竹 2008-11-30
  • 打赏
  • 举报
回复
用2个看看,呵呵!
孤独侠客123 2008-11-30
  • 打赏
  • 举报
回复
\'
代表一个引号.\转义
  • 打赏
  • 举报
回复
java.lang.Exception: insert data exception: Syntax error or access violation message from server: "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'aaa')' at line 1"

由提示的错误信息可以看处你的sql语句语法出现错误
具体在'aaa')'附近,
光从提示的信息可以看出你的单引号是否匹配,使用的是否恰当
楼主仔细检查一下
DiscussQuestions 2008-11-30
  • 打赏
  • 举报
回复
这样猜测也不是办法啊!~!
楼主要想尽快解决问题的话!~!
就把源代码贴出来啊!~!
看了源代码就知道什么地方错了嘛!~!
万一楼主不愿意的话!~!
建议楼主用断点追踪!~!
会很快找到异常的原因的!~
  • 打赏
  • 举报
回复
嗯,强烈建议使用 Statement 的子类 PreparedStatement 来处理,不管是从效率、安全性和代码的可读性上来看都优于 Statement。
Landor2004 2008-11-30
  • 打赏
  • 举报
回复
用prepareStatement来操作,而不用直接拼接字符串形式
hbwhwc 2008-11-30
  • 打赏
  • 举报
回复
不懂,up
filec75 2008-11-30
  • 打赏
  • 举报
回复
不懂,up
  • 打赏
  • 举报
回复
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'aaa')' at line 1"
这句好像己经说明原因了吧!
仔细检查一下你的SQL语句,是里面的关键字写错了,如:将from 误写成了form。
或是有些地方不符合SQL语法规范的!

67,538

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧