java写入数据库

string st="insert into student values('tom','123456');";
能写入数据库
但是:
string id="tom",password="123456";
string st="insert into student values("+id+","+passwrod+");";
为什么会抛出异常?
(英文写不进去,要纯数字)

需要拼接字符串, 因为id和student是字符串, 在SQL里需要加单引号:

StringBuilder builder = new StringBuilder();
builder.append("insert into student values");
builder.append("('");
builder.append(id);
builder.append("','");
builder.append(password);
builder.append("')");

String st = builder.toString();

或者使用setString的方式:

Connection conn = DriverManager.getConnection(url);
PreparedStatement ps = conn.prepareStatement("insert into student values (?, ?)");
pstmt.setString(1, id);             // è®¾ç½®ç¬¬1个参数的值为字符串
pstmt.setString(2, password);    // è®¾ç½®ç¬¬2个参数的值为字符串
pstmt.execute();
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-12-05
拼接的方式,得加上引号,id与password不是数字类型的话。追答

单引号

追问

单引号?

会报错的

追答

为什么会保存。。。。双引号中间有单引号啊。。你自己输出下,不插入数据库就知道两个语句的区别了。

string st="insert into student values('"+id+"','"+passwrod+"');";

本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网