执行语句优化2

This commit is contained in:
李贵强 2025-08-26 17:39:00 +08:00
parent 4bff204397
commit f1320e3333
1 changed files with 32 additions and 12 deletions

View File

@ -14,22 +14,42 @@ public class TestDBFormPlugin extends AbstractFormPlugin {
@Override
public void afterDoOperation(AfterDoOperationEventArgs e) {
super.afterDoOperation(e);
if("qeug_btnok".equals(e.getOperateKey())){
String dbnum = (String) this.getModel().getValue("qeug_dbnum");//标识
//String sql = (String) this.getModel().getValue("qeug_sqls");//sql语句-多行文本
String sql2 = (String) this.getModel().getValue("qeug_largetextfield");//sql语句-大文本
try{
//DB.update(DBRoute.of(dbnum), sql,null);
String[] sqlss = sql2.split(";");//解决多个更新语句一起执行失败的问题
if ("qeug_btnok".equals(e.getOperateKey())) {
String dbnum = (String) this.getModel().getValue("qeug_dbnum"); // 标识
String sql2 = (String) this.getModel().getValue("qeug_largetextfield_tag"); // sql语句-大文本
// 检查SQL文本是否为空
if (sql2 == null || sql2.trim().isEmpty()) {
this.getView().showMessage("SQL语句不能为空");
return;
}
try {
String[] sqlss = sql2.split(";");
int successCount = 0;
for (String sql : sqlss) {
DB.update(DBRoute.of(dbnum), sql,null);
logger.info("执行语句:"+sql);
// 跳过空语句
if (sql == null || sql.trim().isEmpty()) {
continue;
}
// 执行SQL语句
DB.update(DBRoute.of(dbnum), sql, null);
logger.info("执行语句:" + sql);
successCount++;
}
}catch(Exception ex){
this.getView().showMessage("执行失败:" + ex.getMessage());
if (successCount > 0) {
this.getView().showSuccessNotification("成功执行 " + successCount + " 条语句");
} else {
this.getView().showMessage("未执行任何有效SQL语句");
}
} catch (Exception ex) {
logger.error("SQL执行失败", ex);
this.getView().showMessage("执行失败: " + ex.getMessage());
}
this.getView().showSuccessNotification("执行成功");
}
}
}