2016-08-02 68 views
1

我有這種情況,需要使用文件的名稱將具有狀態F的文檔保存在表LOGS中。基於for循環更新數據庫中的相同記錄

我的表應該有以下表現:

ID: 1 
FILE:test 
ERROR: id:5,id:9,id:10 

ID: Incremented 
FILE: fileNameWithOutExt (name of the file) 
ERROR: errorCode 

但是都具有相同的狀態在同一文件中的文件,需要在同一記錄爲使插入我的狀態語句是在一個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

您只能通過插入指令進行更新。 嘗試查看更新說明,簡單方法是使用如下SQL腳本:

UPDATE MyTable SET [email protected] WHERE [email protected] 

IF @@ROWCOUNT = 0 
    INSERT INTO MyTable (FieldA) VALUES (@FieldA)