在Windows窗体应用程序C#中绑定到gridview的ADO.Net数据

时间:2015-10-28 14:22:04

标签: c# sql-server ado.net

我编写了以下代码来从数据库中获取记录并分配给SqlCommand对象。现在我的问题是,后端的查询实际上是给出2条记录,但在前端,数据网格只填充一条记录。在命令对象中,为什么我没有得到这两行。邪恶的是dreader只执行一行数据而不是另一行。我哪里错了?我们可以将多个记录sql数据填充到SQl Command对象中吗?

string sql = "select * from student_detail where (roll_no = '" + txtRollNumber.Text + "') OR (s_name = '" + txtStudentName.Text + "')";
comm = new SqlCommand(sql, conn);

try
{
    dreader = comm.ExecuteReader();
    if (dreader.Read())
    {
        txtRollNumber.Text = dreader[0].ToString();
        txtStudentName.Text = dreader[1].ToString();
        txtAge.Text = dreader[2].ToString();
        txtCourse.Text = dreader[3].ToString();

        DataRow rd = this.myTable.NewRow();

        rd[0] = txtRollNumber.Text;

        rd[1] = txtStudentName.Text;

        rd[2] = txtCourse.Text;

        rd[3] = txtAge.Text;

        this.myTable.Rows.Add(rd);
    }
}

1 个答案:

答案 0 :(得分:0)

为了使用数据读取器返回的所有记录,请替换以下

SetWindowsHooxEx

if (dreader.Read())