2014-11-21 101 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