首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

DataSet的一个有关问题。

2011-12-26 
DataSet的一个问题。。。stringstrsql select*frombbs_userwhereid+this.Request[ id ].ToString()+

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的标签

======================
就是这样的。其实现这个的方法有很多。我们在看问题的时候,先要能看到大的方面,这样我们就有一个大的方向,然后理清了思路再回过头来着手小的细节!


[解决办法]
告诉你一个简的方法吧。用datareader一行行读就行了。不用这么麻烦的
sqlcommand cmd=new sqlcommand( "select * from bbs_user where id= ' "+this.Request[ "id "].ToString()+ " ' ",con);
conn.Open();
SqlDataReader sdr=cmd.executereader;
while(sdr.Read)
{
this.id.Text=sdr.getstring(0)
this.id.Text=sdr.getstring(1)....简单吧
}
记得给分哦

热点排行