SqlDataReader,DataSet判空总结

本文介绍如何使用SqlDataReader判断数据是否存在,并提供检查DataSet中数据的方法。此外,还讨论了在使用DataSet时可能遇到的问题及建议解决方案,包括数据重复和资源管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. SqlDataReader判断
           SqlDataReader dr = new SqlDataReader();
                   dr.hasRows 为true则有记录,为false则无记录
                  dr.Read() 也会自动判断是否有记录
           对于具体字段
                  dr.IsDBNull(i) 为true则空,为false则有值
      例程:
      while (dr.Read())  
      {  
          if(dr.IsDBNull(1))  
          {  
            //为null  
          }  
          else  
          {  
            textbox1.Text=dr["name"].ToString();  
          }  
       }
  2. DataSet判断
            DataSet ds = new DataSet();
            if(ds.Tables.Count==0)                         //ds中是否有表
            if(ds.Tables[0].Rows.Count == 0)       //ds中表是否有数据
            if(ds.Tables[0].Row[i].IsNull(j))            //ds中单元是否有记录,IsNull存在重载 
  3. 关于dataset使用的重大问题及建议 : 在AccessImport项目中,所使用的DataSet都是由SqlDataAdapter生成的(不是动态)。数据表发现很多重复数据,追了很久才查到原因:DataSet在从新写入数据时没有清空,如果此时Fill的话,只是在以前的数据后面追加数据,如果该表没有主键,在insert的时候就会再次写入以前的数据。所以建议在使用sqlDataAdapter.Fill(DataSet)之前,先把DataSet清空一下:DataSet.clear()。在使用完之后,最好把DataSet的资源释放掉:DataSet.dispose()。 (此段摘自http://www.cnblogs.com/Dusy/archive/2007/08/24/868068.html
     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值