C#中这样将DataSet转换为DataTable?

例如:
ds = new DataSet();
string sql = "select distinct shortname from PqComapny ";
ds = Dbc.getBinding(sql, "PqComapny");//自己写的方法
int r = ds.Tables[0].Rows.Count;//取出的数目=6条
DataTable dt = new DataTable();
dt = ???? //把SQL语句查询出来的全部结果显示在dt上面..
dt = ds.Tables[0];是不对的
我需要的是dt的值为sql查询出来的数据.怎么获得

你既然要ds.Tables[0]
那你的DT就没必要new 了。
何必建立一个对象呢。
反正ds.Tables[0] 会返回一个Dt对象
直接引用就好了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-06-28
你确定DataTable dt = ds.Tables[0];这样不行?,如果不行,试试下面

ds = new DataSet();
DataTable dt = new DataTable();
for(int i=0;i<ds.Tables[0].Rows.Count;i++){
DataRow row = dt.NewRow();//新建一个dt的行
row[0] = ds.Tables[0].row[i][0];//为新建的行的每个列赋值
row[1] = ds.Tables[0].row[i][1];
.................//有多少列就写多少,可 用for,我难得写了。
dt.Rows.Add(row);
}
第2个回答  2009-06-28
DataTable dt = ds.Tables[0];
if (dt != null && dt.Rows.Count > 0)
{
foreach (DataRow dr in dt.Rows)
{
你要干啥写在这
}
}
第3个回答  2009-06-28
得先这样吧:
DataTable dt = new DataTable("Grade");

dt.Columns.Add(new DataColumn("id", typeof(int)));

dt.Columns.Add(new DataColumn("Name", typeof(string)));
第4个回答  2009-06-28
dt = ds.Tables[0].Copy();
试试吧
或者这个
dt = ds.Tables[0].Clone();
相似回答