以前ASP直接 rs("field")可以读出 
不知道。net SqlDataReader 怎么读取字段值 或者其他方法也可以谢谢各位

解决方案 »

  1.   

    SqlDataReader sdr sdr["field"]
      

  2.   

    加上  if(sdr.Read())多条 while(sdr.Read())
      

  3.   

    string str = System.Configuration.ConfigurationManager.AppSettings["ConnectionString"];//连接字串
            System.Data.DataSet ds;//dataset
            System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection(@"Data Source=192.168.3.128\SQL2005;Initial Catalog=NewPatti;User ID=sa;Password=123");
            con.Open();
            System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand("select * from YXShop_Product", con);
            System.Data.SqlClient.SqlDataAdapter adapt = new System.Data.SqlClient.SqlDataAdapter(cmd);
            ds = new System.Data.DataSet();
            adapt.Fill(ds);
           return ds;
    推荐使用Dataset  
      

  4.   


                SqlCommand cmd = new SqlCommand(sql, new SQLHelper().sqlcon());
                SqlDataReader sdr = cmd.ExecuteReader();
                string aaa;
                aaa = sdr["AboutTitle"].ToString();
    在没有任何数据时进行无效的读取尝试。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.InvalidOperationException: 在没有任何数据时进行无效的读取尝试。
      

  5.   

    SqlDataReader sdr = cmd.ExecuteReader();
    if(sdr.Read())
    {
      string aaa;
      aaa = sdr["AboutTitle"].ToString();
    }
      

  6.   

      SqlCommand cmd = new SqlCommand(sql, new SQLHelper().sqlcon());
      SqlDataReader sdr = cmd.ExecuteReader();
      string aaa;
      while(sdr.Read())
      {
      aaa = sdr["AboutTitle"].ToString();
      }
      

  7.   

    @lz您好:
     在使用DataReader对象获取SQL结果集时 ,可以使用索引的方法进行读取。相对来说建议使用序号索引的方式进行读取,可以避免由于拆装箱带来的性能上的损失。
    首选:
    reader[filedOrdinal];
    次选:
    reader[fieldName];
      

  8.   

    SqlDataReader.getString()
    等方法很多,查一下MSDN!
      

  9.   

    using(SqlCommand cmd = new SqlCommand(sql, new SQLHelper().sqlcon()){
      using(SqlDataReader sdr = cmd.ExecuteReader()){
       if(sdr.Read()){
        Response.Write("title="+sdr["AboutTitle"]);
       }else{
         Response.Write("no Records");
       }
     }
    }you'd better check is there contains any record in SqlDataReader before you using it.
      

  10.   

    记得 最后关闭就行, 速度 比 dataset 快
      

  11.   

    在性能上使用序号索引和使用强类型Get方式获取数据的执行速度应该差不多。
      

  12.   

    谢谢各位参与 问题解决了  while(sdr.Read())
      {
      aaa = sdr["AboutTitle"].ToString();
      }看来先要读一下 
    先去吃饭了 回来给各位结贴 分不多 照顾不周 请理解 
      

  13.   

    全部正解,楼主应该平均给分
    可惜我来晚了
    最简单的就是用DataReader来读取数据,如一楼所说
    但下面我想说个效率问题
    比如你将数据读入DataReader,建议用字段索引来访问数据,这样有更高的效率
    例如:数据表结构如:id  title   content   posttime
    如果要取title字段的数据,建议使用:
    .......//取数据
    SqlDataReader dr=cmd.ExecuteReader();
    while(dr.Read())
    {
        string title=dr[1].ToString();    //特别是在存取大量数据时,索引比dr["title"]效率高的多
    }
      

  14.   

    当然除了指针直向前的只读的DataReader外(DataReader最适合读取信息,速度快效率高,比如读取新闻列表等),还可以使用更强大的DataSet,但是DataSet效率比DataReader低很多,占用系统资源也比DataReader高(数据量越大内存消耗比DataReader越高)。
    因此,读取数据要根据楼主的需要来选择。
      

  15.   

    DataReader  容易出错`