我试图检查DataTable对象是否为null,但只要DataTable为null,我的程序就会一直给我一个OleDBException。
我有这种方法来设置DataTable
public DataTable setUpDataTable(String sql)
{
String connString = connDel;
using (OleDbConnection conn = new OleDbConnection(connString))
{
OleDbCommand cmd = new OleDbCommand(sql, conn);
try
{
conn.Open();
}
catch (NullReferenceException ex)
{
MessageBox.Show(ex.Message);
}
DataTable delTable = new DataTable();
OleDbDataAdapter adapter = new OleDbDataAdapter(cmd);
adapter.Fill(delTable);
return delTable;
}
}
这里是我调用该方法初始化DataTable对象的地方(原始方法在另一个类中)。我想看看这个DataTable是否为空。
DataTable duplicates = main.setUpDataTable(sql);
if (duplicates != null)
return false;
程序根本没有到达if语句,但在DataTable对象初始化时抛出异常。当DataTable中存在某些内容时,该方法可以正常工作,但当它为null时会抛出该异常。我该如何解决这个问题?
答案 0 :(得分:0)
试试这个..
如果没有匹配的记录,您将获得一个空的DataTable,因此您可以检查返回的记录数:
if (duplicates != null && duplicates .Rows.Count > 0)
return false;
另外请验证SQL select查询。