本人通过存储过程从数据库中读取数据到DataReader中(SqlCommand comm=new SqlCommand(StoredProcedureName,Connection); SqlDataReader myReader = comm.ExecuteReader(); 存储过程中的语句: select 字段 from 数据表),现在想将myReader中的多行数据通过button_Click 事件逐条输出到textbox中,如何实现?

解决方案 »

  1.   

    try:if (yourReader.Read())

       //write data to textbox
    }
      

  2.   

    if (yourReader.Read())

       //write data to textbox
    }
    else
    {
      yourReader.Close();
    }
      

  3.   

    while (myReader.Read()) {
    textbox.text = myReader["field"].ToString();
        }
      

  4.   

    while (myReader.Read()) {
    textbox.text = myReader["field"].ToString();
        }========= nod
      

  5.   

    private void button_Click(object sender,EventArgs e)
    {
        if(Reader.Read())
              textBox.Text = Reader["xxx"].ToString();
        else
        {
            MessageBox.Show("已是最后一条数据了。")
            Reader.Close();
        }
    }
      

  6.   

    string a; 
    if(Reader.Read())
        { 
          a += Reader["xxx"].ToString();
         }
    textBox.Text = a;
    Response.write("<script>alert('数据显示完毕!')</script>")
      

  7.   

    输出到textbox我已经实现,关键是怎样实现按一下button 显示一条数据
    private void btnDaoru_Click(object sender, System.EventArgs e)
    {
     SqlConnection conn=new SqlConnection(××.Connection);
     SqlCommand comm=new SqlCommand("StoredProcedureName",conn);
     comm.CommandType=CommandType.StoredProcedure;
    //定义输入参数
    SqlParameter parinput1=addFeisi.Parameters.Add("@Date",SqlDbType.SmallDateTime);parinput1.Direction=ParameterDirection.Input;
    //给输入参数赋值
    parinput1.Value = dtpDate.Value.Date.ToString();

        try
    {
      conn.Open();
       
               SqlDataReader myReader = comm.ExecuteReader();//执行语句


       while(myReader.Read())
         {
        
    tbJihao.Text = myReader[0].ToString();
    tbFeisiliang.Text = myReader[1].ToString(); myReader.Close();

          } conn.Close();
    }    catch(System.Exception en)
            {
    Console.WriteLine(en.ToString());
    conn.Close();

    }


    }
      

  8.   

    写while的人我就佩服了,没有任何意义啊,你来得急看就厉害了。顶楼两个正解。
      

  9.   

    不过楼主要实现的功能还是不要用datareader.太占服务器资源了
    一定要的话可以把datareader声明成成员变量。
    再用顶楼的代码。
      

  10.   

    读数据的话就用
    SqlDataReader dr;
    while(dr.Read())
    {
       textbox1.text+=dr["字段名"].ToString();
    }
    这样就可以了
      

  11.   

    实现按一下button 显示一条数据最好不要用sqldatareader,可以用DataSet来实现
      

  12.   

    要按一下还是用dataset吧,不然用游标,不过感觉dataset比较好,只要每次按一下,把行号+1就可以了
    textbox1.text=ds.table[0].row[i]["字段"]
    i可以做个静态或者viewstate都行