日期:2014-05-17  浏览次数:20588 次

向数据库插入记录,脑残问题,求指导啊……
<%@page import="java.util.Enumeration"%>
<%@ page contentType="text/html; charset=utf-8"%>
<%@ page import="java.sql.*" %>
<jsp:useBean id="conn" scope="page" class="user.connMysql"></jsp:useBean>>
<html>
  <head>
  <%
  String name=request.getParameter("user");
  String password=request.getParameter("password");
 
  ResultSet rs=conn.executeQuery("select * from user");
  %>
  <title>注册成功</title>
  </head>
  
  <body>
<% 
boolean flag = true;
while(rs.next())
{
if(rs.getString("user").equals(name))

%>
用户<%=name %>已经存在。
<%
flag = false;
break;
}
}

if (flag == true)
{
int i=4;
conn.executeUpdate("insert into user user,password,id values "+name+","+password+","+i);
}
%>
注册成功!
  </body>
</html>


我想把request获取的东西添加到user表中,该怎么添加?
表结构:
user varchar
password varchar
id varchar 主键

其中executeUpdate这个方法是重写过的

public int executeUpdate(String sql)
{
int result = 0;
try
{
conn = DriverManager.getConnection(url);
Statement stmt = conn.createStatement();

result = stmt.executeUpdate(sql);
}
catch(SQLException e)
{
e.printStackTrace();
}
return result;
}


为什么我执行完了,给我显示注册成功了,但是表中没有数据呢?
还要用到类似rs.absolute之类的语句么?

------解决方案--------------------
我顶 字符 要加单引号的

conn.executeUpdate("insert into user ([user],password,id) values ('"+name+"','"+password+"',"+i+")");