DataRow[] aa = dts.Select("id='" + barcode + "'");
id不同。为什么每次查询出来的值都是一样的呢

解决方案 »

  1.   

    aa每次查询的结果都是一样的吗?
    你最好仔细检测一下你的dts。。
      

  2.   

    那估计你每次传的barcode 一样
      

  3.   

     “yibey”我单步执行了,barcode 是不一样的
      

  4.   

                                    dts.Columns.Add("aa", typeof(String));
                                    dts.Columns.Add("bb", typeof(String));
                                    dts.Columns.Add("cc", typeof(String));
                                    dts.Columns.Add("dd", typeof(String));
                                    dts.Columns.Add("ee", typeof(String));                                for (int i = 0; i < dtband.Rows.Count;i++ )
                                    {
                                        DataRow dr = dts.NewRow();
                                        dr[0] = dtband.Rows[i][0];
                                        dr[1] = dtband.Rows[i][1];
                                        dr[2] = dtband.Rows[i][2];
                                        dr[3] = dtband.Rows[i][3];
                                        dr[4] = "0";
                                         dts.Rows.Add(dr);
                                           }
                              string barcode = txt_barcode.Text.ToString();
                              DataRow[] row= dts.Select("aa='" + barcode + "'");
                              string mm = Convert.ToString(row[0].Table.Rows[0][0]);
                              string mc= Convert.ToString(row[0].Table.Rows[0][1]);
                              string guige = Convert.ToString(row[0].Table.Rows[0][2]); 
      

  5.   

    断点调试看看,是datatable中数据问题还是那个变量值的问题
      

  6.   

    我怎么感觉是语法错误
     DataRow[] row1 = dt.Select("id=" + id); 确定语法没错?我是新手,回答错误别喷
      

  7.   

    变量是没问题的,用datagrid 显示dts里的数据也是没问题的,两条数据不重复,我用 DataRow[] row= dts.Select("aa='" + barcode + "'"); 查询出来的都是第一条数据
      

  8.   

    txt_barcode.Text设置了不同的值不会出现你那种情况的
      

  9.   

    string barcode = txt_barcode.Text.ToString();
      DataRow[] row= dts.Select("aa='" + barcode + "'");
    要么是你数据一样,要么是barcode没变
    看你这个,应该是barcode值的问题,好好检查下
    txt_barcode.Text.ToString();PS:注意判断DataRow[] aa 的长度
      

  10.   

    不是,我都显示出来了,string barcode = txt_barcode.Text.ToString();
      DataRow[] row= dts.Select("aa='" + barcode + "'");查询出来的是所有数据
      

  11.   

    你把你界面现实的数据和你每次设置的txt_barcode.Text以及
    DataRow[] row= dts.Select("aa='" + barcode + "'");的值贴一下
      

  12.   

    我以前也出现过这样的问题,你必须设置一个自增的列 ,           
                DataColumn clm = new DataColumn("id",typeof(int));
                clm.AutoIncrement = true;
                clm.AutoIncrementSeed = 0;
                clm.AutoIncrementStep = 1;
                dt.Columns.Add(clm);
                clm = new DataColumn("value",typeof(string));并且dt.select() 方法只是针对自增列才能有效啊,像你先查找的那个列不适合