1

ユーザーはドロップダウンリストから値の1つを選択する必要があります。次に、データベースからのデータをフェッチして、ページのラベル(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に加えてRatingComments表示された本と一致するプロジェクト内のフォルダから表示される必要がある画像があります。

私のコードの何が問題になっていますか?

4

2 に答える 2

5

問題は、あなたのreader is null. セットがreader = SqlCommand.ExecuteReader()

例:

reader = cmdReade.ExecuteReader(); 
于 2012-08-31T12:51:53.490 に答える
1

あなたが逃しました

reader =cmdSelect.ExecuteReader();  
于 2012-08-31T12:54:54.513 に答える