dropdownList1
データを選択してプログラムを実行しようとすると、dropdownlist2
は値を入力するのではなくSystem.Data.DataViewRow
というテキストで設定されます。 私はこれを検索する6時間を試みましたが、回答が見つかりませんでした。System.Data.DataViewRow値の代わりに表示
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
string s1 = DropDownList1.SelectedValue.ToString();
string perfectid = string.Empty;
con.Open();
SqlDataAdapter sda1 = new SqlDataAdapter("select [Id] from [Table] where movie_name='"+s1+"'",con);
DataTable dt = new DataTable();
sda1.Fill(dt);
GridView g1 = new GridView();
g1.DataSource = dt;
g1.DataBind();
foreach (GridViewRow dr in g1.Rows)
{
perfectid = dr.Cells[0].Text;
}
SqlDataAdapter sda = new SqlDataAdapter("select song_name from songs where id='" + perfectid + "'", con);
DataTable dta = new DataTable();
sda.Fill(dta);
DropDownList2.DataSource = dta;
DropDownList2.DataBind();
con.Close();
}
...正しく – surajsn
1を、それを編集してください - sqlparametersと使用を使用し、(つまり、[ボビーテーブル](http://bobby-tables.com)を参照してください、SQLインジェクションを防ぐ)、SQLクエリを連結していません。ストアドプロシージャ。 2 - なぜこれを2ステップのプロセスとしてやっているのですか?sqlでサブクエリ/ジョインを直接使用し、選択したムービー名に基づいてソングリストを取得することができ、gridview + forloop全体は不要です。 3 - デバッグして、SQLが正しく形成されているかどうかを確認しましたか?データが正しく取り込まれているかどうか – Spidey