有关数据库查询返回为空与取特定值dataset,datatable,sqldatareader

1.判断是否有符合条件(strsql)的记录,DataSet返回为空

DataSet ds = getFRUBOMDetail(
this.txtRegion.Text.Trim().ToUpper(), this.txtLoc.Text.Trim()
);

//ds中已经存储好sql执行后的结果

//判定是否有重复region,loc信息
if (ds.Tables[0].Rows.Count != 0)
{

this.lblMsg.Text = "Region:" + this.txtRegion.Text.Trim() + "\t Loc1:" + this.txtLoc.Text.Trim() + "\t已存在!";
return;
}
//ps:"ds!=null"与"ds.Tables.count!=0"都是不能得到正确结果的,如果sql执行后没有匹配的值,即所说的为空,后一项写法的ds.Tables.count也是等于1的。

//ds.Tables.Count==1 用于判断ds中是否有表。

 

 

2.判断是否有符合条件(strsql)的记录,SqlDataReader

SqlDataReader dr = new SqlDataReader();
if (!dr.HasRows)
{

//没有记录,为空。
}

//ps:dr.hasRows 为true则有记录,为false则无记录,dr.Read() 也会自动判断是否有记录

 

 

3.从DataSet取特定值

DataSet ds = DBAccess.ExecuteDataset(strSql, para.ToArray());

//ds是符合条件(strSql)的一条信息,只有一行,有多个属性(列)。

string state = ds.Tables[0].Rows[0]["LOCSTATE"].ToString();

//state的值为ds中列名为"LOCSTATE"的一项的值。

//ps:当已经有ds,就不用再去新建DataTable dt了。

 

 

4.从DataTable取特定值

DataTable dt= DBAccess.ExecuteDataTable(strSql, para.ToArray());

string state2 = dt.Rows[0]["LOCSTATE"].ToString();


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值