- 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();
}
} - 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存在重载 - 关于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)
SqlDataReader,DataSet判空总结
最新推荐文章于 2018-07-15 22:03:00 发布