想将sql语句拼接为insert...values(),(),(),()...(); 10

但是我写的代码是这样的insert...values(1);insert...values(1)(2);...重复插入之前的;代码如下try{intj=0,k=0;int... 但是我写的代码是这样的insert...values(1); insert...values(1)(2);...重复插入之前的;代码如下
try {
int j =0, k= 0;
int count=reader.getRecordCount();
j=count/1000;
str = new StringBuffer("INSERT INTO " + tableName1 + " VALUES(");
while ((rowValues = reader.nextRecord()) != null) {
for (int i = 0; i < rowValues.length; i++) {
if (i != 0)
str.append(",");
str.append("'").append(String.valueOf(rowValues[i]).trim())
.append("'");
str.append("");
}
str.append(",'" + dataS + "'),(");
System.out.println(str);
if (j>=1000) {
k++;
rsbool = stmt.executeUpdate(str.toString().substring(0,str.length() - 2));
str = new StringBuffer(k +":"+"INSERT INTO " + tableName1 + " VALUES(");
j++;
}
}
rsbool = stmt.executeUpdate(str.toString().substring(0,str.length() - 2));
} catch (Exception e) {
e.printStackTrace();
} finally {
newConn.commit();
newConn.close();
}
展开
 我来答
飞车菜鸟弟
推荐于2018-04-11 · TA获得超过1174个赞
知道小有建树答主
回答量:633
采纳率:94%
帮助的人:327万
展开全部

这个就是把你拼写语句的改变一下就可以了吧

while里面insert into 处的拼接修改一下

str = new StringBuffer(k +":"+"INSERT INTO " + tableName1 + " VALUES(");

把这里修改一下吧。


“:” 拼接个冒号是做什么呢?还是打错了,应该是逗号?

while ((rowValues = reader.nextRecord()) != null) {
for (int i = 0; i < rowValues.length; i++) {
str.append("'").append(String.valueOf(rowValues[i]).trim())
.append("'");
if (i != rowValues.length-1){
str.append(",");
}
}
str.append("'" + dataS + "'),("); 
}
System.out.println(str);

while修改的, if(j>1000)那段没明白楼主想干嘛

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式