我一直在制作一些在 netezza 数据库上执行查询的测试过程。我只是想知道是否有办法取回任何输出,例如更新的行,或者如何捕获任何错误消息。现在它在一个正常的 try/catch block 中,但如果查询失败,会作为异常返回,还是程序会继续,因为没有收到错误/输出?
基本上我想做的是在下面的控制台写出我希望它在每次循环时写出输出,然后写出错误(如果有)。例如,当我使用一个界面进行查询时,它只会滚动说“blah blah blah 已执行,更新了 1 行”,或者如果出现问题将返回错误消息。
代码如下:
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();
}
最佳答案
对此做了一些研究,你必须使用返回值......
int rowsAffected = command.ExecuteNonQuery();
rowsAffected 将显示已更改的行数。
关于c# - 获取 Netezza 查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27068029/