用JSP做了一个简单的注册页面 用bean操作数据库时却遇到了如题的问题 代码如下,我是新手 请各位大大帮忙
package logbean;
import java.util.*;
import java.sql.*;
import java.io.*;
import java.sql.PreparedStatement;
public class Logregisterbean {
public String usename;
public String password;
public String repassword;
public String email;
String query;
...........
       public void ccon(){                             
String url = "jdbc:odbc:users";

try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(java.lang.ClassNotFoundException e){}
try{

Connection con =DriverManager.getConnection(url);
Statement stmt =con.createStatement();
query="insert into users (usename,password,email)  values("+usename+','+password+','+email+')';
stmt.executeUpdate(query);
con.close();stmt.close();
}catch(SQLException ex){}
}
假如usename,password,email三项都为数字的话可以正确的添加进数据库 ;但是只要有任意一项里面有一个字母就不能添加成功了 在网页上输出SQL语句没有发现错误;在数据库中usename和email数据类型都为VARCAHR[20]

解决方案 »

  1.   

    没有错误信息 一切正常 但是数据库里面没有增加记录 我在网页中将query输出 得到的结果:
    注册成功
    你的用户名是:zhangsan 
    你的密码是: 123456
    你的Email是:[email protected] 
    query=insert into users (usename,password,email) values (zhangsan,123456,[email protected])
      

  2.   

    query="insert into users (usename,password,email)  values('"+usename+"','"+password+"','"+email+"')'";
      

  3.   

    还是不行哦 把单引号加进双引号中之后连全数字记录都无法保存了 输出中
    query=insert into users (usename,password,email) values (zhangsan','123456','[email protected])
    我用的是vista系统...会不会是这个有问题哦
      

  4.   

    存数字的字段不需要单引号
    varchar的字段需要单引号sql应该是(前面帖子多了一个单引号):
    query="insert into users (usename,password,email)  values('"+usename+"','"+password+"','"+email+"')";你少了括号(后
    和括号)前的单引号
      

  5.   

    query=insert into users (usename,password,email) values ('zhangsan','123456','[email protected]')应该是输出这个才对
      

  6.   

    对sql不够熟悉,sql里字符串应该是单引号扩起来的,写多了自然就知道了
      

  7.   

    學好數據庫(重點學寫存儲過程)
    學好java基礎
    看看設計模式上面2條扎實了,jsp就沒啥了