So zeigen alle Datenbank-Daten in der Grid-Ansicht mit den Daten einer Tabelle?

Ich habe 5 Daten in meinem datatbase, diese Daten, die ich anzeigen möchten, die in einem gridView mit Daten-Tabelle. Aber mein code zeigt nur die letzten die gebundenen Daten im GridView? Mein code ist. Bitte darauf hinweisen, die Fehler???

SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString);
SqlCommand cmd = new SqlCommand("select Date from MusterRoll where EmpCode='"+code+"' and Month='1' and Year='2015'", conn);
 SqlDataAdapter sda = new SqlDataAdapter(cmd);
 DataSet  ds = new DataSet();
 sda.Fill(ds);
 var rows = ds.Tables[0].Rows;
 foreach (DataRow row in rows)
  {
    string date1 = Convert.ToString(row["Date"]);
    DateTime date2 = Convert.ToDateTime(date1);
    SqlCommand cmd1 = new SqlCommand(" select TOP 1 m.EmpCode,m.NOH,m.OT,m.Late,m.Early,convert(varchar(10),m.Date,103)AS DATE,convert(varchar(10),s1.Shiftname,103)AS Shift From ShiftChange s,ShiftType s1,MusterRoll m  WHERE s1.ShiftID=s.NShiftID and '" + date2 + "'>=Fromdate and Todate>='" + date2 + "' and m.Month = '1' and m.date='"+date2+"' and m.EmpCode='Neena' order by Todate desc", conn);
    SqlDataAdapter sda1 = new SqlDataAdapter(cmd1);
    DataTable  dt = new DataTable();
    sda1.Fill(dt);
    //var rows1 = ds.Tables[0].Rows;
    for (int rowIndex = 0; rowIndex < dt.Rows.Count; rowIndex++)
    {
      DataRow rpw = dt.Rows[rowIndex];
      string EmpCode = rpw.Field<string>("EmpCode");
      string NOH = rpw.Field<string>("NOH");
      string OT = rpw.Field<string>("OT");
      string Latae = rpw.Field<string>("Late");
      string Early = rpw.Field<string>("Early");
      string date3 =rpw.Field<string>("Date");
      string Shift = rpw.Field<string>("Shift");
      gvSingleemp.Visible = true;
      gvSingleemp.DataSource = dt;
      gvSingleemp.DataBind();
         }
        }

In meinem shiftChange Tabelle gibt es kein Feld für Datum statt, dass ich fromDate und ToDate.Ich möchte Anzeige Mitarbeiter shifft nach MusterRoll Tabelle Datum. So, die erste die ich ausgewählt MusteRoll Datum nd checkrd diesem Datum existieren zwischen ShiftChange FromDate und ToDate, wenn vorhanden, zeigen Sie die Shift -

  • Durch die Art und Weise, verwenden Sie nicht dt.Rows[0].ItemArray[0].ToString() aber rpw.Field<string>("EmpCode"). Ihr code verwendet immer die erste Zeile statt der aktuellen Zeile in der Schleife.
  • Ich verstehe nicht, was Sie zu tun versuchen. Wählen Sie Termine, dann sind Sie looping-Sie wählen Daten aus EmpDetails nach diesem Datum. Aber wo willst du die Datensätze? Wollen Sie mehrere gridviews? Wenn nicht, warum nicht Sie link MusterRoll und EmpDetails über EmpCode? Dann haben Sie alle Daten in einer Abfrage und die Tabelle enthält alle.
  • Schmelter, ok, können Sie mich leiten, wie es zu füllen GridView mit foreach-Schleife und DataTable
  • Mein Punkt ist, dass Sie brauchen nicht diese Schleifen. Ich denke, dass Sie möchten, wählen Sie alle Datensätze aus EmpDetails wo die EmpCode ist = code und die MusterRoll.Month='1' and Year='2015'. Dann brauchen Sie nur eine sql-Abfrage zum füllen einer DataTable genutzt werden können als Datenquelle für gvSingleemp. Ist das richtig?
  • Können Sie mehr code schreiben ? wie verwenden Sie rpw danach ? wenn die for-Schleife geschlossen ist ? sda wird verwendet oder es ist nur sda1 ? ... Warum willst du eine for-Schleife eigentlich ?
  • Schmelter, ich habe eine Datenbank Musteroll enthält Einige Daten (der 2015-01-01,2015-02-02 ... etc..) und ich habe eine andere Tabelle EmpDetails enthält 5 Daten mit unterschiedlichem Datum, aber gleiche Monat 1. erste Abfrage generieren, die ein Datum und diesem Datum überprüft die Daten in EmpDetails mit dem gleichen Datum.Und wieder generieren nächsten Tag mit der ersten Abfrage, und wählen Sie Daten aus empdetails mit dem gleichen Datum..wie diese. Ich denke, mein Englisch ist ein problem für Sie.
  • So brauchen Sie nicht, die Schlingen für das
  • ich bearbeitet meine Antwort, einen Blick zu haben.

Schreibe einen Kommentar