2016-07-28 48 views
0

我有我想要分配给它的值dataset我试过像下面这样,但是没有奏效。为数据集对象赋值

string strExp = ""; 
for (int i = 0; i < ds.Tables[0].Rows.Count; i++) 
{ 
    strExp = "RAName = '" + ds.Tables[0].Rows[i]["RAName"].ToString() + "'"; 
    DataRow[] dr= ds.Tables[0].Select(strExp); 
} 
DataSet dsNew = new System.Data.DataSet(); 
dsNew = ds.Tables[0].Select(strExp); 

请让我知道如何赋值给dataset

回答

1

你没有打电话给AcceptChanges

string strExp = ""; 
      for (int i = 0; i < ds.Tables[0].Rows.Count; i++) 
      { 
       strExp = "RAName = '" + ds.Tables[0].Rows[i]["RAName"].ToString() + "'"; 
       DataRow[] dr= ds.Tables[0].Select(strExp); 
      } 
      ds.Tables[0].AcceptChanges(); //Commits all the changes made to this table since the last time AcceptChanges was called. 
      DataTable dtNew = ds.Tables[0].Select(strExp).CopyToDataTable(); 
      DataSet dsNew = new System.Data.DataSet(); 
      dsNew.Tables.Add(dtNew); 

的价值得到了存储在数据表中,但选择查询的数据表的提交版本。

+0

我得到的错误,因为_only赋值调用增量递减和新的对象表达式可以用作一条语句在行'ds.Tables [0] .AcceptChanges;'**注意**,我正在使用Windows窗体 – BNN

+0

对不起,是一个错字。它的一种方法 - 请使用'()' – Sadique

+0

嗨Sadiq,现在得到错误,因为_cannot隐式转换类型'system.data.datarow'到'system.data.datarow'_在行'dsNew = ds.Tables [0]。选择(strExp);' – BNN