永发信息网

JDBCJava数据库插入语句

答案:3  悬赏:80  手机版
解决时间 2021-02-01 15:28
  • 提问者网友:斑駁影
  • 2021-02-01 02:42
public boolean updateDB(String sql,String [] paras){
boolean b = true;
try {
ps = ct.prepareStatement(sql);
for(int i=0;i<paras.length;i++){
ps.setString(i+1, paras[i]);
}
ps.executeUpdate();
} catch (SQLException e) {
b = false;
e.printStackTrace();
} finally {
close();
}
return b;
}

public boolean insertByDiet(String [] paras){
String sql;
boolean b=false;
try{
sql = "insert into record(cId,bId,mId,borrowDate,returnDate) values(?,?,?,?,?)";
b=updateDB(sql, paras); //更新成功返回true,所以插入成功返回true
}catch(Exception e){
e.printStackTrace();
}
return b;
}

String[]paras1={cid,bid,mid, bdate, rdate};
b=insertByDiet(paras1);
执行的时候,在ps = ct.prepareStatement(sql);这里报错,显示的错误是General error
最佳答案
  • 五星知识达人网友:千夜
  • 2020-09-17 15:54
你妹的,写了占位符你又不用东西填,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();
全部回答
  • 1楼网友:蕴藏春秋
  • 2019-04-08 11:22
什么对于你来说是最关键的? 首先你会不会jdbc连接数据库执行一般的sql语句?如果不会,先去搜这方面的东西。 如果你只是纠结于存储过程在java中的调用,那么步骤如下: 1.事先写一个存储过程xx 2.用jdbc连接数据库执行语句“exec xx”就可以了。如果存储过程带参数a和b,语句就是“exec xx a b”
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯