DataSet Ds = new DataSet("MyDataSet");
string bh = Ds.Tables["tablename"].Rows[0][“abc”].ToString();
tablename是表名,abc指字段名
后面一句的意思什么?这个0 是什么意思??我看了下,不是很明白。请各位指教

解决方案 »

  1.   

    取 tablename 表第一行 abc 列的值
      

  2.   

    rows【0】  
    表示表第一行记录  abc 表示该行记录 abc字段
      

  3.   

    Rows[0][“abc”]第一行abc列值
    DataRow[] dr= Ds.Tables["tablename"].Select("abc=''");
    查询列
    也可遍历查询
      

  4.   


                for (int i = 0; i < Ds.Tables["tablename"].Rows.Count; i++)
                {
                    string str = Ds.Tables["tablename"].Rows[i]["abc"].ToString();
                    if (text1.Text == str)
                    {
                        //此时的i就是你需要的行号
                        break;
                    }
                }
      

  5.   


    我也是这样写的,可是为什么我根本进不了循环,Ds.Tables["tablename"].Rows.Count 这个值为0 ,
      

  6.   


    那是因为你tablename这个表里 没数据,不知道你这个DataSet是怎么获取数据的?
      

  7.   


    那就是里的没数据啊....Rows为0
      

  8.   

    DataSet没写入数据之前都是空的了,DataTable也一样
      

  9.   

    SqlDataAdapter Da = new SqlDataAdapter();
    DataSet Ds = new DataSet();
                    DataTable table = new DataTable("Attractions");
                    Ds.Tables.Add(table );
                     Da.Fill(Ds, "Attractions");
    请你帮我看看,我是刚刚接触sql ,不是很懂谢谢
      

  10.   


    你这都没有SQL查询语句,哪来的数据呢。。
    你这句应该是类似这样的才对:
    SqlDataAdapter Da = new SqlDataAdapter("SELECT * FROM tablename",conn);
      

  11.   

    sql语句写了,因为需要接受用户输入的信息,所以事先用循环接收了sql语句,存储在sqlstr字符串中。。SqlCommand Comd = new SqlCommand(sqlstr, sqlConn);
                    SqlDataAdapter Da = new SqlDataAdapter();
                    Da.SelectCommand = Comd;
      

  12.   

    用你的sqlstr查询语句在数据库的查询分析器中执行下看看有没有数据?。。
      

  13.   


    SELECT [tp_Name] ,[tp_Relief] FROM lushan.dbo.[Attractions] WHERE tp_Name= '" + txtNS.Text + "'"
    这是其中的一条语句,其他的几条只是把[tp_Relief]字段改了下而已。txtNS .Text是文本框的内容,我在查询分析器里面没有错啊,我将txtNS .Text改成别的字符串,有值啊
      

  14.   

    有值?去掉这两句
    DataTable table = new DataTable("Attractions");
    Ds.Tables.Add(table );再断点跟踪下Ds.Tables["Attractions"].Rows.Count的值
      

  15.   

    嗯,按照你说的Ds.Tables["Attractions"].Rows.Count的值就为1 。
    我想问你另一个方法,我用下面的这一句能不能得出查询结果。a是列名(因为查询根据用户选择的不同,查询的列也不一样,所以我用一个字符串来代替列名,每次循环,都给a重新附一个值),可是这个0是不正确的string bh = Ds.Tables["Attractions"].Rows[0][a].ToString();
    lblShow.Text = bh;
      

  16.   


    为什么它的值为1呢?当我乱输一个数据库中没有的字符串,值为0 ,这么说,它是指查询结果的行数吗?
    如果我想用一个字符串变量获得查询结果,该如何呢?
    真不好意思,麻烦你给我讲解下,你在5楼的方法我总是进不了循环,不知道是不是dataset的问题。。
      

  17.   


    对,Rows.Count就是指查询结果的行数;
    你要进入循环 自然是要保证这个行数不为0,你要是没有数据进入循环又有什么用呢。汗!我都不知道该怎么说了