executeQuery只能执行查询,你应该用stmt.executeUpdate(sql);返回值是int
解决方案 »
- 如何用servlet和iframe 实现点击链接后 更改部分界面
- oracle事务问题
- poi 导入大量数据到excel内存溢出,在线等
- 为什么sqlMap是空指针?
- html:link action标签提交form的问题,请教!!!
- 在用window.open打开的页面中,调用父页面中的函数后页面自动刷新。
- 怎么日期不正确呀?(急)
- jbuilder2005里提示jsp里的一些标签错误
- 高手,初手,来帮我看看,我看了几天也没解决。。。。。。。
- servlet页面title怎么输出?
- 大侠,请问一下连接数据库的一个问题(在线等待)
- 综合性、难度较大的问题:如何在servlet中,用javascript增加、更新Table记录?
executeQuery()只能用于查询
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<HEAD>
<Script Language='JavaScript'><!--
function setFocus(){
document.forms[0].citycode.focus();
}
-->
</Script>
</HEAD><body onload='setFocus()'><FONT SIZE="" COLOR="#333399"><CENTER><U><B>增 加 顾 问</B></U></CENTER></FONT>
<BR><BR><BR>
<FORM METHOD=POST ACTION="add.jsp">
城市编号:
<INPUT TYPE="text" NAME="citycode" length=15><BR><BR>
中文描述:
<INPUT TYPE="text" NAME="chinesedesc"><BR><BR>
英文描述:
<INPUT TYPE="text" NAME="englishdesc"><BR><BR>
城市简称:
<INPUT TYPE="text" NAME="ab"><BR><BR>
所属省份:
<INPUT TYPE="text" NAME="provincecode"><BR><BR>
所属星级:
<INPUT TYPE="text" NAME="cityclass"><BR><BR>
是否广东:
<INPUT TYPE="text" NAME="isgd"><BR><BR>
<INPUT TYPE="submit" name=ok value=确定>
<INPUT TYPE="submit" name=ok value=取消>
</FORM>
<%
String citycode,chinesedesc,englishdesc,ab,provincecode,cityclass,isgd;
citycode=request.getParameter("citycode");
chinesedesc=request.getParameter("chinesedesc");
englishdesc=request.getParameter("englishdesc");
ab=request.getParameter("ab");
provincecode=request.getParameter("provincecode");
cityclass=request.getParameter("cityclass");
isgd=request.getParameter("isgd");
增加代码连接数据库.............
%>
</body>
</html>
请问数据库的连接还有效吗,还是说要重新连接一次数据库?可以在这个地方执行以下语句吗:
<%
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url=new String("jdbc:odbc:Instore Army");
String user="sa";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement();
String sql="insert into city(citycode) values(citycode)";
int rs=stmt.executeUpdate(sql);
%>
javax.servlet.ServletException: [Microsoft][ODBC SQL Server Driver][SQL Server]The name 'citycode' is not permitted in this context. Only constants, expressions, or variables allowed here. Column names are not permitted.
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:457)
at org.apache.jsp.add$jsp._jspService(add$jsp.java:107)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:202)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:382)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:474)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:201)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2344)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:462)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:163)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1011)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1106)
at java.lang.Thread.run(Unknown Source)
String sql="insert into city(citycode) values('"+a+"')";
int i=executeUpdate(sql);
insert into 语句应该怎么写了,请指教,我用了好多种写法都不行!唉!!
String sql="insert into city(citycode) values('"+a+"')";字段citycode为数字型:
String sql="insert into city(citycode) values("+a+")";