2014-11-21 60 views
1

我一直在做一些在netezza數據庫上執行查詢的測試過程。我只是想知道是否有辦法找回更新的任何輸出,或者如何捕獲任何錯誤消息。因爲它現在在一個正常的try/catch塊中,但是如果查詢失敗了,它會作爲異常返回,或者程序會繼續,因爲沒有收到錯誤/輸出?獲取Netezza查詢結果返回

基本上我想要做的是在控制檯下面寫出我希望它在每次循環時寫出輸出,然後在出現錯誤時寫出錯誤。例如,當我使用接口來執行查詢時,它會滾動顯示「blah blah blah executed,1 row updated」,或者如果出現問題,將返回錯誤消息。

下面是代碼:

try 
{ 
    netezzaConn = new OleDbConnection(connString); 
    netezzaConn.Open(); 
    for(int i = 0; i < recordCounts.Count; i++) { 
     if(recordCounts[i].RecordCount.ToString() != recordCounts[i].OrigCount.ToString()) { 
      string updateStatement = myquery; 
      Console.WriteLine("Executing query : " + updateStatement); 
      OleDbCommand exe = new OleDbCommand(updateStatement, netezzaConn); 
      exe.ExecuteNonQuery(); 
     } else { 
      Console.WriteLine("No records were removed from the file : " + recordCounts[i].FileName + ". Not updating Netezza."); 
     } 
    } 
    netezzaConn.Close(); 
} 

回答

2

有沒有這方面的一些研究,你必須使用一個返回INT ...

INT的RowsAffected = command.ExecuteNonQuery();

rowsAffected將顯示有多少行已被更改。

+0

非常感謝,這工作:) – user3494110 2014-12-17 16:37:23

+0

爲什麼不接受它作爲答案? – 2017-03-10 14:24:20