在连接表时为 “select * from ”+ DataTable +“ where id='1'”;后面提取时为 SQLConn a = new SQLConn();
             a.SetConnection();
             DataTable milling = a.GetDataTable("milling_cutting_tool");
             label1.Text = milling.Columns[1].ToString ();//Rows[1]["name"].ToString();
这里使用Columns时在label1中显示为该列名(如name),而不是我指定的id为1时,name为xiaoming的显示
但使用Rows时(【+“ where id='1'”】 去掉),为xiaoming,显示正常。
  请问问题出在哪??

解决方案 »

  1.   

    milling.Columns[1].ToString ();当然是列名了
    你得指定哪行哪列,才能得到你想要的数据
    用下面的方式才可以label1.Text = milling.Rows[1][1].ToString();

    label1.Text = milling.Rows[1][milling.Columns[1].ColumnName].ToString();
      

  2.   

    我前面不是已经 + where了吗?  就不能单独用Columns吗?
      

  3.   

    where是取数据时用的,datatable的columns又不知道你取数据的细节,它傻的很,它只知道你喊它时它就告诉你列的名字。
      

  4.   

    ����� ����Ҫָ�� һ��IDֵʱ����id=2��  ������һ����ȡij��~   �����������ô���أ�
      

  5.   

    那如果 我想指定某具体ID值时(如id=2),再在这行中的某列进行取值, 这种情况 我应该怎么办呢?
      

  6.   

    用下面的方式可以不用指定到哪列哪行cmd.CommandText = "select name from ”+ DataTable +“ where id='1'
    object obj=cmb.ExecuteScalar();
    if(obj!=null && obj!=System.DBNull.Value)
    {
        label1.Text = obj.ToString();
    }
      

  7.   

    这种只能取id=1的一个name列值了~, 要是想取其他的需要再写select的吧?