2014-12-05 1 views
-2

드롭 다운 목록에서 가져와야하는 roleID가있는 사용자의 사용자 이름을 내 사용자 테이블에서 선택해야합니다. 데이터가 GridView에 나타나지 않습니다. 뭐가 잘못 됐는지 보지 마시고, 제발 도와주세요. 는 이미 2 가지 방법GridView에 SQL 데이터 채우기

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     SqlConnection con = new SqlConnection(cs); 
     con.Open(); 
     SqlCommand cmd = new SqlCommand("select username from tblUser where roleID like '" + DropDownList1.SelectedValue + "'", con); 

     SqlDataAdapter da = new SqlDataAdapter(cmd); 
     DataTable dt = new DataTable(); 
     da.Fill(dt); 
     GridView2.DataSource = dt; 
     GridView2.DataBind(); 
     con.Close(); 
    } 

protected void Button2_Click(object sender, EventArgs e) 
{ 
    SqlConnection con = new SqlConnection(cs); 
    con.Open(); 
    SqlCommand cmd = new SqlCommand("select username from tblUser where roleID like '" + DropDownList1.SelectedValue + "'", con); 

    SqlDataReader reader = cmd.ExecuteReader(); 

    GridView2.DataSource = reader; 
    GridView2.DataBind(); 
    con.Close(); 
} 
+1

디버깅을 시도 했습니까? roleID를 하드 코딩하여 쿼리를 직접 실행하면 결과가 나타 납니까? –

+0

데이터베이스에 연결 문자열이 보이지 않습니다 ... 간단한 SQL 명령으로는 충분하지 않습니다. – Yasskier

+0

'dt'는 실제로 어떤 행을 포함합니까? –

답변

0

좋아 시도, 그래서이 사람은 날 위해 일했습니다. 그리고 소스를 확인해야합니다. 내 GridView와 마찬가지로 AutoGenerateColumns = false라고 말하면서 제거했습니다. 그리고 그것은 모두 효과가있었습니다!

protected void Button2_Click(object sender, EventArgs e) 
{ 
    string cs = ConfigurationManager.ConnectionStrings["roleDB"].ConnectionString; 
    SqlConnection con = new SqlConnection(cs); 
    con.Open(); 
    SqlCommand cmd = con.CreateCommand(); 
    cmd.CommandType = CommandType.Text; 
    cmd.CommandText = "select username from tblUser where roleID like '" + DropDownList1.SelectedValue + "'"; 
    SqlDataAdapter da = new SqlDataAdapter(cmd); 
    DataTable dt = new DataTable(); 
    da.Fill(dt); 
    GridView2.DataSource = dt; 
    GridView2.DataBind(); 
    con.Close(); 
} 
+1

죄송 합니다만 여기에 답변을 수정해야합니다. DataGrid를 사용하는 것이 좋습니다. 코드가 SQL 삽입에 취약합니다. 쿼리 문자열을 사용자 입력 (DropDownList1 값)과 연결합니다. 자세한 정보는 https://www.owasp.org/index.php/SQL_Injection을 확인하십시오. – Ruben

관련 문제