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+"');";
本回答被提问者采纳