2017-07-26 6 views
1

Ich habe eine Datentabelle erstellt, die die Daten anzeigt, die vom Datenreader gesammelt werden. Mein Problem ist, dass nicht alle Zeilen angezeigt werden, die ausgewählt werden. Es wird nur eine Zeile angezeigt. Wie kann ich alle ausgewählten Zeilen anzeigen?Lesen und Anzeigen ausgewählter Zeilen in der Datentabelle

Code hinter

 int Quantity; 
     string JobName; 
     string OrderType; 
     DateTime DueDate; 

     SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["connect"].ConnectionString); 

     string cmdText = "SELECT Quantity,Job_Name,[Order],Due_Date FROM Shopping_Cart WHERE [email protected]"; 

     SqlCommand cmd = new SqlCommand(cmdText, con); 

     //===== Adding parameters/Values. 
     cmd.Parameters.AddWithValue("@UIDD", hfUserID.Value); 

     //===== To check current state of the connection object. If it is closed open the connection 
     //===== to execute the insert query. 
     if (con.State == ConnectionState.Closed) 
     { 
      con.Open(); 
     } 

     //===== Execute Query. 
     SqlDataReader dr = cmd.ExecuteReader(); 
     dr.Read(); 

     Quantity = dr.GetInt32(0); 
     JobName = dr.GetString(1); 
     OrderType = dr.GetString(2); 
     DueDate = dr.GetDateTime(3); 

     con.Close(); 
     if (Session["UID"] != null) 
     { 
      DataTable dt = new DataTable(); 
      dt.Columns.AddRange(new DataColumn[4] { 
          new DataColumn("QUANTITY", typeof(string)), 
          new DataColumn("JOB NAME", typeof(string)), 
          new DataColumn("ORDER TYPE", typeof(string)), 

          new DataColumn("DUE DATE", typeof(string))}); 

      dt.Rows.Add(Quantity, JobName, OrderType, DueDate); 

    YourTable.Append("<table border = '1'>"); 
      YourTable.Append("<tr>"); 
      foreach (DataColumn column in dt.Columns) 
      { 
       YourTable.Append("<th style = 'background-color: #0bd2d1;color:#ffffff'>"); 
       YourTable.Append(column.ColumnName); 
       YourTable.Append("</th>"); 
      } 
      YourTable.Append("</tr>"); 
      foreach (DataRow row in dt.Rows) 
      { 
       YourTable.Append("<tr>"); 
       foreach (DataColumn column in dt.Columns) 
       { 
        YourTable.Append("<td>"); 
        YourTable.Append(row[column]); 
        YourTable.Append("</td>"); 
       } 
       YourTable.Append("</tr>"); 
      } 

Antwort

1

Statt

dr.Read() 

Verwendung

while(dr.Read()) 
{ 

    // Do stuff 
} 

diese Weise ist es Schleife über alle Zeilen in dem Datareader wird.

Verwandte Themen