2017-07-26 3 views
1

J'ai créé une base de données qui affiche les données collectées dans le lecteur de données. Mon problème est qu'il n'affiche pas toutes les lignes qui sont sélectionnées. Il n'affiche qu'une seule ligne. Comment puis-je afficher toutes les lignes sélectionnées?Lire et afficher les lignes sélectionnées dans les données

code

Derrière

 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>"); 
      } 

Répondre

1

Plutôt que

dr.Read() 

utilisation

while(dr.Read()) 
{ 

    // Do stuff 
} 

De cette façon il boucle sur toutes les lignes du DataReader.