public SqlDataReader GetPersonEdu(string cPsnNum)  
       {
            string selectStr = "select *from edu where cPsn_Num=" + cPsnNum;
            this.sqlC = new SqlConnection(DBOperate.connectStr);
            this.sqlCmd = new SqlCommand(selectStr,this.sqlC);
            this.sqlC.Open();
            this.sqlDr = this.sqlCmd.ExecuteReader();
            return this.sqlDr;
        }
SqlDataReader sdr1 = dbop.GetPersonEdu(dataGridView1.CurrentCell.Value.ToString());
                while(sdr1.read())
                {
                    textBox5.Text = sdr1[3].ToString();
                    comboBox11.Text = sdr1[4].ToString();
                    comboBox11.Enabled = false;
                    comboBox10.Text = sdr1[5].ToString();
                    comboBox10.Enabled = false;
                    
                }
                sdr1.Close();
可是GetPersonEdu()得到的是多行记录,我要如何将其一行行记录读出来,分别赋给不同的textbox呢?

解决方案 »

  1.   

    那你何必要保存在数据读取器里面,直接把查询的的数据直接保存在DataSet或者DataTable不就能达到你要求的..汗颜~~
      

  2.   

    记错了
    如果是那样,还是用sqldataadapter
      

  3.   

    把SqlDataReader返回的值通过循环放入到集合中吧。
      

  4.   

    用datatable就可以了或者你在.net2005建立一个数据向导看看里面的代码就知道怎么做了
      

  5.   

    我要如何将其一行行记录读出来,分别赋给不同的textbox呢?
    ========
    SqlDataReader sdr1 = dbop.GetPersonEdu(dataGridView1.CurrentCell.Value.ToString());
    if(sdr1.read()) {
       TextBox1.Text = sdr1[0].ToString();
       // ...
    }
    if(sdr1.read()) {
       TextBox2.Text = sdr1[0].ToString();
       // ...
    }
    if(sdr1.read()) {
       TextBox3.Text = sdr1[0].ToString();
       // ...
    }
    这种处理方式不实用,明白原理就好
      

  6.   

    用一个while循环全部读出来啥