2017-08-23 105 views
0

要检查单个查询我用这个如何在Java Swing中检查批量执行SQL查询是否成功?

int a = statement.executeupdate(); 
if(a>0){ 
JoptionPane. showmessagediaglog(null, "Success"); 
else{ 
JoptionPane. showmessagediaglog(null, "Failed"); 

我如何做到这一点与执行批处理一样int a = statement.executebatch();

这并不当然的工作,所以有没有办法?

+1

检查'executeBatch()'返回的_array_;注意拼写。 – trashgod

+0

可以请你提供一个代码片段bcuz我试过了,失败了。 @trashgod – CodeMan

回答

1

则ExecuteBatch()返回一个整数 数组,所以你要做的:

int a[]= executeBatch(); 

而且根据的Java API:“如果全部命令执行成功,则返回更新计数组成的数组的int元素返回的数组的顺序与批处理中的命令相对应,这些命令按照它们添加到批处理的顺序排序。“

因此,如果数组的长度等于您在批次上发送的更新的长度,则可以假定它是成功的。或使其更简单,并根据您的例子:

int a[] = statement.executeBatch(); 
    if(a.length>0){ 
     JoptionPane. showmessagediaglog(null, "Success"); 
    else{ 
     JoptionPane. showmessagediaglog(null, "Failed"); 
    } 

您还可以重复上一个[]值,总结影响的行的总数,并通知在JOption对话框中的用户。