DataSet的一个问题。。。
string strsql= "select * from bbs_user where id= ' "+this.Request[ "id "].ToString()+ " ' ";
conn.Open();
SqlDataAdapter adp=new SqlDataAdapter(strsql,conn);
DataSet ds=new DataSet();
adp.Fill(ds, "table ");
this.id.Text=ds.Tables[ "table "].Columns[ "id "];
this.id.Text=?
this.name.Text=?
this.sex.Text=?
this.age.Text=?
this.exp.Text=?
将查询得到的结果放在了“table”里,我想把得到的字段依次赋给这5个LABEL,怎么实现呢???
------解决方案--------------------一个一个赋值
------解决方案--------------------this.id.Text=ds.Tables[ "table "].Columns[ "id "];
这句会有编译错误,
===========================
DataRow row = ds.Tables[ "table "].Rows[0];
this.id.Text= row[ "id "].ToString();
this.name.Text= row[ "name "].ToString();
...
注意,1,表中是否有行,2,列的数据类型
------解决方案--------------------string strsql= "select * from bbs_user where id= ' "+this.Request[ "id "].ToString()+ " ' ";
conn.Open();
SqlDataAdapter adp=new SqlDataAdapter(strsql,conn);
DataSet ds=new DataSet();
adp.Fill(ds, "table ");
DataTable dt = ds.Tables[0];
if(dt.Rows.Count > 0) {
DataRow dr = dt.Rows[0]; // 读取第一行
this.id.Text= dr[ "id "].ToString(); // 以下假设 id,sex...是你的列字段名
this.name.Text= dr[ "Name "].ToString();
this.sex.Text= dr[ "Sex "].ToString();
this.age.Text= dr[ "Age "].ToString();
this.exp.Text= dr[ "Exp "].ToString();
}
Good Luck!
------解决方案-------------------- this.id.Text=ds.Tables[ "table "].Rows[0][ "id "].ToString();
this.name.Text=?同上
this.sex.Text=?
this.age.Text=?
this.exp.Text=?
最好先判断一下DataSet中的table是否有行,要不然有可能发生错误
------解决方案--------------------string strsql= "select * from bbs_user where id= ' "+this.Request[ "id "].ToString()+ " ' ";
conn.Open();
SqlDataAdapter adp=new SqlDataAdapter(strsql,conn);
DataSet ds=new DataSet();
adp.Fill(ds, "table ");
DataTable dt = ds.Tables[ "talbe "];//得到表的对象
//假如你有3个安段,name,age,sex。按如下方法得到
this.lblName.text=dt.Rows[0][0].ToString();//lblName是显示name的标签
this.lblAge.text=dt.Rows[0][1].ToString();//lblAge是显示age的标签
this.lblSex.text=dt.Rows[0][2].ToString();//lblSex是显示sex的标签
======================
就是这样的。其实现这个的方法有很多。我们在看问题的时候,先要能看到大的方面,这样我们就有一个大的方向,然后理清了思路再回过头来着手小的细节!