判断DataTable为空

请几天项目中增加了一个功能,就是通过windows服务往数据库里填充数据。

有一表A,表A里有字段“日期”,如果表A中有日期为“XXXX”的数据,则windows服务不在往改表中添加数据。我是这样写的:

public  bool HasData(datetime dt)

{

   string sql="select *from A WHERE date="+ dt +";

  datatable  table=sqlHelper.Exculude(sql); 此方法为执行sql语句并返回一个datatable

      if(table==null)      判断是否为空表

  {

          return false;

  }

     return true;

}

哎,还是功力不够呀,本以为没问题了,也没测试,没想到过了几天了,A表中一直没数据。跟踪后,才发现, if(table==null)出了问题。

因为,改table是从数据库中取出的,表结构已经有了。要判断它是否为空,要用table.rows.count>0。(不知道还有没其他方法)

而table==null 只是判断有没有实例化,并不能作为是否为空表的依据。所以,该例中,一直返回 true。

posted on 2011-11-04 14:47  静海  阅读(22233)  评论(1编辑  收藏  举报