DBからデータを取得しようとしている.aspx WebページのListBoxがあります。クエリはストアドプロシージャの形式であり、以下は私が使用しているListBind(string queryPart)
メソッドです。質問後にListBoxにデータが届かない
private void ListBind(string queryPart)
{
SqlDataAdapter adp = new SqlDataAdapter("Retrieve", ConfigurationManager.ConnectionStrings["cn"].ConnectionString);
DataSet ds = new DataSet();
adp.SelectCommand.CommandType = CommandType.StoredProcedure;
adp.SelectCommand.Parameters.Add("@s1", SqlDbType.NVarChar, 255).Value = queryPart;
adp.SelectCommand.Parameters.Add("@s2", SqlDbType.NVarChar, 255).Value = DropDownList1.SelectedItem.ToString();
adp.Fill(ds);
ListBox1.DataSource = ds;
ListBox1.DataBind();
}
問題は、私のリストボックスにデータを取得せず、エラーがなく空のままであることです。私の入れているブレークポイントを見つけようとしましたが、理由を見つけることができませんでした。
私のWebページの別のドロップダウンリストをバインドするためのパラメータを持たない別のプロシージャを使用し、正常に動作している同様のメソッドがあります。ここでは何かが間違っています。助言がありますか?
あなたはListBindの中にブレークポイントを追加してヒットしなかったと言いますか?もしそうならListBindが呼び出されていますか?それは内部にはありません!Page.IsPostBackかそれとも何か? – Greg
これは明らかですが、クエリが空のセットを返さないと確信していますか?問題がコード内にあることを確認したいだけです。 (実際にこれをコメント以上に回答したいと思っています) – Harbie