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

插入数据库时的语句
下面是我的insert语句,试了好多种写法了,都是插不了。
String sql = "insert into user values(" + username + ","+ username + "," + power + "," + name + ")";

values内为变量名,username插两次……

所以请各位帮忙修改一下,顺便指出错误在那里~谢谢各位了!数据库是MYSQL。

------解决方案--------------------
1.user表中是否还有其他的字段?
2.user表中字段的顺序是否与你写的一致?
3.字符串是否超长?
4.字符串中是否可能存在影响sql的特殊字符?
5.建议你先在控制台中把SQL调通顺再过来写PG。
6.参数传递,貌似有更理想的方法的。
------解决方案--------------------
你的MYSQL的控制台报的什么错?
从你的语句中应该是传入的数据缺少单引号,表名也加上单引号
String sql = "insert into 'user' values('" + username + "','"+ username + "','" + power + "','" + name + "')";
你试试看好了没
------解决方案--------------------
String sql = "insert into user values(?,?,?,?,);
connection con = DriverManager.getConnection("jdbc:mysql://localhost/forum?user=root&password=123456");//forum是数据库名
PreparedStatement ps = con.prepareStatement(sql);
ps.setString(1,username);
ps.setString(2,username);
ps.setString(3,power);
ps.setString(4,name);
ps.executeUpdate();

//这样写的效率会高些