jsp数据库操作问题

flysee 2004-08-19 04:55:03
我使用mysql+eclipse开发jsp,运行
String Id=request.getParameter("Id1");
String Title=request.getParameter("Title1");
String StartElement=request.getParameter("StartElement1");
String EndElement=request.getParameter("EndElement1");
String Content=request.getParameter("Content1");
String FileList=request.getParameter("FileList1");
Class.forName("org.gjt.mm.mysql.Driver");
Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/database","root","");
Statement st=conn.createStatement();
st.executeUpdate("REPLACE insertlist SET Id="+Id+",Title="+Title+",StartElement="+StartElement+",EndElement="+EndElement+",Content="+Content+",FileList="+FileList+" WHERE Id="+Id+"");
这段时jboss总是报错
报错内容是:org.apache.jasper.JasperException: Syntax error or access violation: 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 '?峒蚪?,StartElement=,EndElement=,EndElement=

我想是不是sql语句写错了,应该怎么解决这个问题?
谢谢了
...全文
122 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tasia 2004-08-19
  • 打赏
  • 举报
回复
是单括号没有匹配好,这样就行了:
st.executeUpdate("REPLACE insertlist SET Id='"+Id+"',Title='"+Title+"',StartElement='"+StartElement+"',EndElement='"+EndElement+"',Content='"+Content+"',FileList='"+FileList+"' WHERE Id='"+Id+"'");
flysee 2004-08-19
  • 打赏
  • 举报
回复
前几位高人呢?
不会总是我自己顶吧
flysee 2004-08-19
  • 打赏
  • 举报
回复
1就是就是我要传递的值,那别的属性也应该传递过来了,为什么还是没有更新成功呢?
flysee 2004-08-19
  • 打赏
  • 举报
回复
request.getParameter()里面没有中文
我加了单括号
新的错误是org.apache.jasper.JasperException: Syntax error or access violation: 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 'WHERE Id=1' at line 1

还是没有写入数据库啊
foxty 2004-08-19
  • 打赏
  • 举报
回复
SQL语法错误,先把SQL语句打印出来检查一下。。看有没有漏符号,还要注意数据类型的差别
yuganfei19840807 2004-08-19
  • 打赏
  • 举报
回复
st.executeUpdate("REPLACE insertlist SET Id='"+Id+"',Title='"+Title+"',StartElement='"+StartElement+"',EndElement='"+EndElement+"',Content='"+Content+"',FileList='"+FileList+"' WHERE Id='"+Id+"'");
loverface 2004-08-19
  • 打赏
  • 举报
回复
好象是sql语句里的字符串包含有中文字符,成了乱码。
对那几个request.getParameter();中可能包含中文的字符串转换下编码试试。
Tasia 2004-08-19
  • 打赏
  • 举报
回复
st.executeUpdate("REPLACE insertlist SET Id="+Id+",Title="+Title+",StartElement="+StartElement+",EndElement="+EndElement+",Content="+Content+",FileList="+FileList+" WHERE Id="+Id+"");

在sql语句中,字符型的数据要用单引号括起来。写成这样:
st.executeUpdate("REPLACE insertlist SET Id='"+Id+"',Title='"+Title+"',StartElement='"+StartElement+"',EndElement='"+EndElement+"',Content='"+Content+"',FileList='"+FileList+"' WHERE Id="+Id+"");
酒店管理系统分为前台和后台两个部分,其中后台供管理员管理系统之用,包括客房类型设置模块、客房设置模块以及操作员设置三个子模块,具体的功能模块如下。 客房类型设置模块:该模块用来管理酒店的所有客房类型,包括新增客房类型、编辑已有客房类型、删除客房类型等功能。 客房设置模块:该模块用来管理酒店的所有客房信息,包括新增客房、编辑已有客房、删除客房等功能。 操作员设置模块:该模块用来管理酒店的操作员信息,包括新增操作员、编辑已有操作员信息、删除操作信息等功能。 系统前台供酒店所有工作人员使用,包括入住登记模块、结账模块、预定模块、客户管理模块以及业务统计五个模块。具体的功能模块如下。 入住登记模块:该模块用来登记客户的入住信息,其中入住信息包括登记信息、客人信息以及费用信息三部分。 结账模块:该模块用来处理客户的退房信息,只需要知道客户所住的房间号码,就能进行退房结账。 预定模块:该模块用来处理客户的预定信息,除了可以新增预定信息外,还可以对已有的预定信息进行管理。 客户管理模块:该模块用来管理客户的登记信息,包括新增客户信息、编译已有客户信息、删除客户信息等功能。 业务统计模块:该模块用来统计酒店的客房出租率,并且已图形报表的形式来显示出租率信息。 本系统的开发工具具体如下。 系统开发平台:MyEclipse 6.5。 数据库管理系统软件:MySQL 5.0。 java开发包:JDK 5.0以上。 Web服务器:Tomcat 6.0。 本系统采用MVC架构模式开发,具体技术如下。 AJAX框架:使用ExtJS技术开发 显示层:使用JSP技术开发 数据访问层:使用DAO模式开发 持久层:使用Hibernate框架开发 首页访问地址 :http://localhost:8080/JavaPrj_9/首页配置 页面 修改 打开web.xml 修改 即可 /WEB-INF/pages/userLogin.jsp 复制代码 数据库配置 为hotel-hibernate.xml 文件 测试了将近2个小时 系统跑的还不错 一下小细节 bug 大家可以自己去调整下

81,114

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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