0

繰り返しますが、クエリの答えが得られません。データベースからデータを取得し、ドロップダウン リストを選択してテキスト ボックスに読み込むコードを作成しました。ドロップダウン リストでデータを選択した場合、正確な答えは得られず、代わりに選択したインデックス 0 が表示されます。つまり、「-Select-」と表示されます。テキストボックスには何も行われません。OnSelectedIndex と AutoPostBack=True の ASP ページを確認しました。私を修正してください..これが私のコードです:

//This is for retrieval of data to dropdown list.
 public void engi()
    {
        DropDownList1.Items.Clear();
        ListItem l = new ListItem();
        l.Text = "-Select-";
        DropDownList1.Items.Add(l);
        DropDownList1.SelectedIndex = 0;
        Conhr.Open();
        SqlCommand cmd = new SqlCommand("select EmployeeName from tbl_EmploeeDetails where Designation like('%Engineer') ", Conhr);
        //SqlCommand cmd=new SqlCommand("select  Sitecode from MRsite where Sitealiasname in (select Componetcode from tbl_Component where Sitecode='" + TextBox1.Text.Trim() + "'");
        SqlDataReader dr;
        dr = cmd.ExecuteReader();
        while (dr.Read())
        {
            ListItem n = new ListItem();
            n.Text = dr["EmployeeName"].ToString().Trim();
            DropDownList1.Items.Add(n);
        }
        dr.Close();
        Conhr.Close();
    }

//This is for retrieval data for text box by selecting DropDown List
 public void des()
    {
        Conhr.Open();
        string s3;
        s3 = "select Designation from tbl_EmploeeDetails where EmployeeName='" + DropDownList1.SelectedItem.Text + "'";
        SqlCommand c3 = new SqlCommand(s3, Conhr);
        SqlDataReader d3;
        d3 = c3.ExecuteReader();
        while (d3.Read())
        {
            TextBox1.Text = d3["Designation"].ToString().Trim();

        }
        d3.Close();
        Conhr.Close();
    }
//Called the method for data retrieval for Textbox

 protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {
        des();

    }
4

1 に答える 1

0

あなたがあなたのコードを投稿してくれてうれしいです(良いです!)-しかし、私たちはより多くの情報が必要です。

提案:

1)データベースに直接クエリを実行します(たとえば、MSSQL GUIを使用)。動作する「select」ステートメントを見つけます。

2)デバッガーにステップインします。クエリを実行する直前にSQL( "s3"など)を出力します。

3)「良いクエリ」と「失敗した」クエリを比較します。

問題は、スペルミスと同じくらい単純である可能性があります。

-- Maybe you meant "tbl_EmployeeDetails" here?
s3 = 
  "select Designation from tbl_EmploeeDetails where EmployeeName='" +       
  DropDownList1.SelectedItem.Text + "'";
于 2012-06-21T05:53:06.143 に答える