【问题标题】:DataAdapter.fill null value return errorDataAdapter.fill null 值返回错误
【发布时间】:2014-08-30 15:42:49
【问题描述】:

我有一个小的 sql 语句,用于检查是否有任何符合错误标准的记录,以便我可以发出警报。然而,大多数时候不应该有任何符合条件的记录。我的问题是,当我运行程序进入“dataAdapt.fill(returnTable)”步骤时,它会引发异常,因为该值为空。我怎样才能避免这种情况?如果值为 null,我只想让它继续到我可以关闭程序的地方,而不是抛出异常。

try
{
    //open connection
    netezzaConn = new OleDbConnection(connString);
    netezzaConn.Open();
    //execute sql statement
    OleDbCommand exe = new OleDbCommand(sqlStatement, netezzaConn);
    OleDbDataAdapter dataAdapt = new OleDbDataAdapter(exe);
    dataAdapt.Fill(returnTable);
}
catch (Exception ex)
{
    Console.WriteLine(ex);
}

if (returnTable.Rows.Count >= 1)
{
    recordCount = returnTable.Rows.Count;
    sendEmail.sendnotificationEmail(recordCount);
}

【问题讨论】:

  • 我没有看到你的实际命令。 exe 没有分配给它的查询。
  • 在尝试填充之前确保 returnTable 不为空。
  • 上面定义的我没有出于安全考虑,只是一个select语句。
  • 您是否将您的 returnTable 定义为数据集?数据集 returnTable = new DataSet();
  • 哇,LarsTech 好用!谢谢!你能解释一下为什么会有所不同吗?

标签: c# sql database dataadapter


【解决方案1】:

需要实例化returnTable变量:

DataTable returnTable = new DataTable();

没有“new”,returnTable 是一个空对象,DataAdapter 在尝试使用它时会打嗝。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-27
    • 2017-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-02
    相关资源
    最近更新 更多