我遇到这种情况,其中状态为F的文档需要保存在表LOGS中,并带有文件名。
我的表应该有以下表示:
ID: Incremented
FILE: fileNameWithOutExt (name of the file)
ERROR: errorCode
但是同一文件中的所有文件具有相同的状态,需要插入同一条记录中:
ID: 1
FILE:test
ERROR: id:5,id:9,id:10
我的if语句是在一个for循环中传递给xml文件中的所有子节点。状态为F的那些需要在同一记录中连接。
if(status.equals("F")){
elemValue = element.getChild("id").getValue();
String fileNameWithExt = f.getName();
String fileNameWithOutExt = FilenameUtils.removeExtension(fileNameWithExt);
saveLogs(fileNameWithOutExt, elemValue);
}
private void saveLogs(String fileNameWithOutExt, String elemValue){
String errorCode = "id:"+ elemValue;
String query = "INSERT INTO LOGS (FILE,ERROR)VALUES ('"+fileNameWithOutExt+"','"+errorCode+"')";
String content = "";
content = SqlTool.selectOneString("DB", query);
}
答案 0 :(得分:0)
您不能仅使用插入指令进行更新。 尝试查看更新指令,简单的方法是使用SQL脚本,如:
UPDATE MyTable SET FieldA=@FieldA WHERE Key=@Key
IF @@ROWCOUNT = 0
INSERT INTO MyTable (FieldA) VALUES (@FieldA)