https://zhidao.baidu.com/question/540539955.html?fr=iks&word=jdbc+sql%D3%EF%BE%E4&ie=gbk
JDBC JAVA数据库插入语句报错
你妹的,写了占位符你又不用东西填,sql当然错了,报的sql不完整两种方案A。 valuses后的四个问号直接写上参数B。用import java.sql.PreparedStatement;包下的PreparedStatement方法预编的方式进行填充示例PreparedStatement ps = null;sql = "insert into record(cId,bId,mId,borrowDate,returnDate) values(?,?,?,?,?)";
ps.setInt(1,第一个值);ps.setInt(2,第二个值);ps.setInt(3,第三个值);ps.setInt(4,第四个值);//提交1234必须写setInt是举例子你看自己的那些字段是什么类型的ps.executeUpdate();
范例:
String sql=""+
"insert into shopping"+ "(user_name,sex,age,birthday,email,mobile," + (注意“+”号的用法,之前我漏掉了一个加号,导致报错Syntax error on token ""values("", delete this token,语法错误) "create_user,create_date,update_user,update_date,isdel)"+ "values("+ "?,?,?,?,?,?,?,current_date(),?,current_fste(),?)";或者
String sql="insert into shopping(user_name,sex,age,birthday,email,mobile,create_user,create_date,update_user,update_date,isdel)values(?,?,?,?,?,?,?,current_date(),?,current_fste(),?)";
下面sql语句用参数填充:
PreparedStatement ptmt=conn.prepareStatement(sql); //编译sql语句
ptmt.setString(1, g.getUser_name()); //传递参数进来ptmt.setInt(2,g.getSex());ptmt.setInt(3, g.getAge());ptmt.setDate(4, (Date) g.getBirthday());ptmt.setString(5,g.getEmail());ptmt.setString(6, g.getMobile());ptmt.setString(7, g.getCreate_user());ptmt.setString(8, g.getUpdate_user());ptmt.setInt(9,g.getIsdel());ptmt.execute(); posted on 2017-03-13 14:13 阅读( ...) 评论( ...)