0

私は.netが初めてです。私は次のコードを持っていますが、それが間違っていることを知っています:

protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
        {
            SqlConnection conn = new SqlConnection("Connection");
            SqlCommand cmd = new SqlCommand("SELECT * FROM Users ORDER BY FirstName", conn);

            conn.Open();
            SqlDataReader rd = cmd.ExecuteReader();
            ddlUsers.DataValueField = "ID";
            ddlUsers.DataTextField = "FirstName";
            ddlUsers.DataSource = rd;
            ddlUsers.DataBind();
            rd.Close();

            SqlCommand cmd1 = new SqlCommand("SELECT [LastName], [Email], [Phone] FROM [Users] WHERE ([FirstName] = @FirstName)", conn);
            cmd1.Parameters.AddWithValue("@FirstName", ddlUsers.SelectedItem.ToString());
            SqlDataReader rd1 = cmd1.ExecuteReader();
            while (rd1.Read())
            {
                lblPhoneShow.Text = rd1["Phone"].ToString();
                lblEmailShow.Text = rd1["Email"].ToString();
                lblLNShow.Text = rd1["LastName"].ToString();
            }
            conn.Close();
        }

        } 

データをドロップダウンにバインドするとうまくいきますが、特定の名前を選択すると、ラベルに何も表示されません。誰かが私が間違っていることを説明できますか? ありがとう!

4

1 に答える 1

1

クエリを実行していないようです。

これを試して:

SqlCommand cmd1 = new SqlCommand("Select (Phone, LastName, Email) from users where FirstName = @FirstName", conn);
cmd.Parameters.AddWithValue("@FirstName", ddlUsers.SelectedValue.ToString());
rd = cmd.ExecuteReader()

アップデート

ドロップダウン リストのは ID です。データベース内の FirstName をこの値と比較しています。名が ID と一致することはありません。

  • IDで検索したい場合は、SQLを変更してください。
  • 名前で検索する場合は、プロパティを SelectedItem (DataRow になります) に変更します。次に、名前までドリルダウンします。
于 2013-10-28T20:17:32.117 に答える