使用sqldatareader 读取数据表中的一个字段,,但该字段有不同的值,想把不同的值读出来后赋给不同的变量,,,

解决方案 »

  1.   


                SqlDataReader dr = SqlCommand.ExecuteReader();
                while (dr.Read())
                {
                    if (dr["栏位名"].ToString() == "1")
                        var1 = 1;
                    else if (dr["栏位名"].ToString() == "2")
                        var2 = 2;
                    else
                        var3 = dr["栏位名"].ToString();
                }
      

  2.   

                SqlDataAdapter da = new SqlDataAdapter(Sql, conn);
                DataSet ds = new DataSet();
                da.Fill(ds, "mytable");
                if (ds.Tables["mytable"].Rows.Count != 0)
                {
                    ds.Tables["mytable"].Rows[0][0] = ""; //或者 ds.Tables["mytable"].Rows[0]["column"]="";
                    ds.Tables["mytable"].Rows[0][1] = "";
                    //……
                }
                //……
      

  3.   

    假如:
       A      B
       10     2
       11     2
       12     3
       15     3
       16     3
       15     1
    想读取B为2 的数据或者B为3数据,读出来后分别存在不同的变量中,即2为一个存储位置,3为另一个存储位置,且要加起来的,继续加分,
      

  4.   

    先select distinct b from table,将b所有的值读出来
    然后循环读出每种b的所有记录
      

  5.   

     while (dr.Read())
                {
                   }
      

  6.   

    SqlStr="Select Count(A) AS A,B From TB Group By B"
    .....
    SqlCommand cmd = new SqlCommand(SqlStr, conn);
    sqldatareader   sdr = cmd.ExecuteReader();
    if (sdr.Read())
    {}
      

  7.   

    if(dr.read())
    {
       setValue(dr["field"].tostring());
    }void setValue(_value)
    {
       switch (_value)
       {
          case "1":
            ....
            break;
          case "2":
            ....
            break;
          同理
       }
    }