DataSet ds = new DataSet();
            string ID = Request.QueryString["ID"].ToString();
            if (Session["typeTable"] != null)
            {
                ds = (DataSet)Session["typeTable"];
                DataRow[] drs = ds.Tables[0].Select("ID=17");
                DataTable dt1 = new DataTable();
                foreach (DataRow drs1 in drs)
                {
                    dt1.ImportRow(drs1);
                }
                Label2.Text = dt1.Rows[0]["txt"].ToString();
我想这样获取值的时候提示我txt不属于dt1,我就换成
Label2.Text = dt1.Rows[0][0]ToString();
他有说无法找到列0
谁能告诉我怎么回事啊  或者有什么更加好的方法

解决方案 »

  1.   

    说的是ds中没有符合"ID=17"的行么。
    好点的可以用LINQvar result =
                from a in ds.Tables[0].AsEnumerable()
                where a.Field<string>("ID") == "17"
                select a; 
      

  2.   

    根据一下看看dt1的数据是怎样的为什么不直接使用drs 赋值了?
      

  3.   

    int ID=17;
    string query="ID"+ID;
    DataRow[] drs = ds.Tables[0].Select(query); 
      

  4.   

    我用drs的
    Label2.Text = drs[0].Table.Rows[0]["txt"].ToString();
    可是出来的结果却不应该出现在drs中的结果。我ID=17  
    drs里应该只有一行结果的。
      

  5.   

       Label2.Text = dt1.Rows[0]["txt"].ToString(); 
    有txt这个列吗?
      

  6.   

    DataTable dt1 = new DataTable(); 
    dt1 = ds.Tables[0].Clone();//使用ImportRow要确定目标table和源table的结构一致
    //使用ImportRow添加行
      

  7.   

    DataSet ds = new DataSet();
                string ID = Request.QueryString["ID"].ToString();
                if (Session["typeTable"] != null)
                {
                    ds = (DataSet)Session["typeTable"];
                    DataRow[] drs = ds.Tables[0].Select("ID=17");                Label2.Text = drs[0]["txt"].ToString();
    http://www.mybuffet.cn
      

  8.   

    从语法上看,没什么问题,
    我感觉是这句话,
    DataRow[] drs = ds.Tables[0].Select("ID=17"); 
      

  9.   

    + drs {System.Data.DataRow[1]} System.Data.DataRow[] [0] 17 object {int} 
    [1] "asdfsdfsdf" object {string} 
    [2] "成套设备" object {string} 
    + [3] {2009-11-16 16:48:39} object {System.DateTime} 
    [4] "images/05.jpg" object {string} 
    [5] "yuiyui" object {string} 
    值是有的  这个是断点出来的结果,但是取值的时候就是不对啊
      

  10.   

    DataTable dt1 = new DataTable(); 
    foreach(DataColumn dc in ds.Tables[0].Columns)
    {
        dt1.Columns.Add(new DataColumn(dc.ColumnName));
    }

    foreach (DataRow drs1 in drs)
    {
        dt1.ImportRow(drs1); 
    }
      

  11.   

     ds = (DataSet)Session["typeTable"]; 
     DataRow[] drs = ds.Tables[0].Select("ID=17");  DataTable dt1 = ds.Tables[0].Clone(); //克隆一下
    .....就哦了
      

  12.   

    DataTable dt1 = ds.Tables[0].Clone(); //克隆一下 
      

  13.   

    DataTable dt1 = ds.Tables[0].Clone(); //克隆一下