JDBC JAVA数据库插入语句

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();

原文地址:https://www.cnblogs.com/DZayxj520/p/6542606.html