用户必须从下拉列表中选择一个值,然后应该提取数据库中的数据并将其放入页面上的标签(即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();
}
}
}
数据库表格为BookName
,Author
,Rating
,Comments
,此外还有一个图像应该从项目中与该书匹配的文件夹中显示显示。
我的代码出了什么问题?
答案 0 :(得分:5)
问题是你的reader is null.
设置reader = SqlCommand.ExecuteReader()
示例:
reader = cmdReade.ExecuteReader();
答案 1 :(得分:1)
你错过了
reader =cmdSelect.ExecuteReader();