DataReader + DropDownList ASP.NET项目

时间:2012-08-31 12:40:03

标签: c# asp.net drop-down-menu oledb datareader

用户必须从下拉列表中选择一个值,然后应该提取数据库中的数据并将其放入页面上的标签(即BookName,Author,Rating,Comments)。

这是我到目前为止所做的,但它不起作用:

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
    if (IsPostBack)
    {
        OleDbConnection con = new OleDbConnection(ConfigurationManager.ConnectionStrings["RegConnectionString"].ConnectionString);
        con.Open();

        OleDbCommand cmdReade = new OleDbCommand();
        OleDbDataReader reader = null;

        OleDbCommand cmdSelect = new OleDbCommand(@"SELECT * FROM Books WHERE bookName = '" + DdlSelectBook.SelectedItem.ToString() + "'");

        while (reader.Read())
        {
            lblBookName.Text = reader["bookName"].ToString();
            lblAuthor.Text = reader["Author"].ToString();
            lblRating.Text = reader["Rating"].ToString();
            lblComments.Text = reader["Comments"].ToString();
        }
    }
}

数据库表格为BookNameAuthorRatingComments,此外还有一个图像应该从项目中与该书匹配的文件夹中显示显示。

我的代码出了什么问题?

2 个答案:

答案 0 :(得分:5)

问题是你的reader is null. 设置reader = SqlCommand.ExecuteReader()

示例:

reader = cmdReade.ExecuteReader(); 

答案 1 :(得分:1)

你错过了

reader =cmdSelect.ExecuteReader();