工程狮子的gravatar头像
工程狮子 2016-03-04 12:47:20

java jdbc调用sql删除表记录的这段代码语法有什么问题吗?

String sql0 = "delete from zb where id='"+id+"'";
String sql1 = "delete from dsptb where id='"+id+"'";
String sql2 = "delete from frkjtpyb where id='"+id+"'";

for(int i=0;i<34;i++){
  String sql_s="sql"+i;
  stmt = conn.prepareStatement(sql_s);

jg=stmt.executeUpdate();
}

告诉我sql语句错误。为什么? 或者有什么能删除多个表的方法 运行的时候告诉我sql语句错误,我直接不循环试验单独一条语句是没有问题的

所有回答列表(4)
yepx2013的gravatar头像
yepx2013  LV7 2016年3月4日
String sql_s="sql"+i;

 

sql_s 只是个字符串啊。不如用List<String>

 

List<String> strList = new ArrayList<String>();
strList.add("delete from zb where id='"+id+"'");
strList.add("delete from dsptb where id='"+id+"'");
strList.add("delete from frkjtpyb where id='"+id+"'");

for(int i=0;i<34;i++){
  String sql_s = strList.get(i);
  stmt = conn.prepareStatement(sql_s);

jg=stmt.executeUpdate();
}

但是那个 i < 34 ;又是什么鬼?

评论(1) 最佳答案
哈米哈米的gravatar头像
哈米哈米  LV1 2016年3月4日

我也同问

liuzhaolei107的gravatar头像
liuzhaolei107 2016年3月5日
String sql0 = "delete from zb where id='"+id+"';delete from dsptb where id='"+id+"';delete from frkjtpyb where id='"+id+"'";

这样就可以了

安静小墨的gravatar头像
安静小墨  LV8 2016年3月25日

你这样执行的sql只是sql0,sql1,sql2.....sql33.并不是你里面的delte语句。你可以写在一起,如果不是很多的话。每句delete后面加上";"表示一句

顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友