[求助]用javabean操作ACCESS数据库只能INSERT数字...
用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]
------解决方案--------------------存数字的字段不需要单引号
varchar的字段需要单引号
sql应该是(前面帖子多了一个单引号):
query= "insert into users (usename,password,email) values( ' "+usename+ " ', ' "+password+ " ', ' "+email+ " ') ";
你少了括号(后
和括号)前的单引号