2012-03-19 12 views
0

ここにいくつか問題があります。私のコーディングにエラーはありませんが、コーディングをデバッグすると、データベースのデータは表示されませんでした。グリッドビューにデータを表示

これは私のpagebehind

string nm = name.SelectedValue.ToString(); 
    string id = ID.SelectedValue.ToString(); 
    if (name != "ALL" && ID != "ALL") 
    { 
     str = "SELECT DISTINCT Name, StaffID FROM employeeID WHERE Name ='"+nm+"' AND StaffID ='"+id+"'"+ 
      "ORDER BY Name, StaffID"; 
     ds = con.ExecuteDataSet(str); 
     grdA.DataSource = dset; 
     grdA.DataBind(); 
    } 

protected void grdA_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    string nm = name.SelectedValue.ToString(); 
    string id = ID.SelectedValue.ToString(); 
    DataRowView tableData = e.Row.DataItem as DataRowView; 
    if (e.Row.RowType == DataControlRowType.DataRow) 
    { 
     Label nme = e.Row.FindControl("lblNM") as Label; 
     Label idd = e.Row.FindControl("lblID") as Label; 
     GridView grdB = e.Row.FindControl("grdB") as GridView; 
     str = "SELECT ClassA, ClassB, TotalStudent FROM tuition WHERE Name = '" + nme.Text + "' AND StaffID='" + idd.Text + "' ORDER BY ClassA"; 
     ds = dbCon.ExecuteDataSet(str); 
     grdB.DataSource = dset; 
     grdB.DataBind(); 
     if (grdB.Rows.Count != 0) 
     { 
      str = "SELECT NVL(SUM(ClassA),0)ClassA,NVL(SUM(ClassB),0)ClassB,NVL(SUM(TotalStudent),0)TotalStudent FROM tuition WHERE Name = '" + nme.Text + "' AND StaffID='" + idd.Text + "' ORDER BY ClassA"; 
      OracleDataReader odr = dbCon.ExecuteReader(str); 
      while (dr.Read()) 
      { 
       Label lblnewCA = grdSatus.FooterRow.FindControl("lblnewCA") as Label; 
       lblnewCA.Text = dr.GetInt32(0).ToString(); 
       Label lblnewCB = grdSatus.FooterRow.FindControl("lblnewCB") as Label; 
       lblnewCB.Text = dr.GetInt32(1).ToString(); 
      } 
      odr.Dispose(); 
      odr.Close(); 
     } 
    } 
    else if (e.Row.RowType == DataControlRowType.Footer) 
    { 

    } 
    dset.Dispose(); 
} 

protected void grdSatus_PageIndexChanging(object sender, GridViewPageEventArgs e) 
{ 

    string nm = name.SelectedValue.ToString(); 
    string id = ID.SelectedValue.ToString(); 
    DataRowView tableData = e.Row.DataItem as DataRowView; 
    if (e.Row.RowType == DataControlRowType.DataRow) 
    { 
     Label nme = e.Row.FindControl("lblNM") as Label; 
     Label idd = e.Row.FindControl("lblID") as Label; 
     GridView grdB = e.Row.FindControl("grdB") as GridView; 
     str = "SELECT ClassA, ClassB, TotalStudent FROM tuition WHERE Name = '" + nme.Text + "' AND StaffID='" + idd.Text + "' ORDER BY ClassA"; 
     ds = dbCon.ExecuteDataSet(str); 
     grdB.DataSource = dset; 
     grdB.DataBind(); 
     if (grdB.Rows.Count != 0) 
     { 
      str = "SELECT NVL(SUM(ClassA),0)ClassA,NVL(SUM(ClassB),0)ClassB,NVL(SUM(TotalStudent),0)TotalStudent FROM tuition WHERE Name = '" + nme.Text + "' AND StaffID='" + idd.Text + "' ORDER BY ClassA"; 
      OracleDataReader odr = dbCon.ExecuteReader(str); 
      while (dr.Read()) 
      { 
       Label lblnewCA = grdSatus.FooterRow.FindControl("lblnewCA") as Label; 
       lblnewCA.Text = dr.GetInt32(0).ToString(); 
       Label lblnewCB = grdSatus.FooterRow.FindControl("lblnewCB") as Label; 
       lblnewCB.Text = dr.GetInt32(1).ToString(); 
      } 
      odr.Dispose(); 
      odr.Close(); 
     } 
    } 
    dset.Dispose(); 
} 

である私はまだ任意の画像を投稿することができないので、私はあなたに結果を表示することはできません。

+0

grdB.DataBind()にブレークポイントを設定します。データが戻ってきていますか? –

+0

@MicahArmantrout戻ってくるデータはありませんが、grdAではデータは表示されず、データベースからのデータが表示されます。 – stillLearning

答えて

0

WHERE句を確認してください。デバッガでコードを停止し、str変数にウォッチを入れ、内容をSQLウィンドウにコピーします。

WHERE句が正しくない場合、あなたはdiddly squat(nothing)を取得します。

関連する問題