2015-03-13 2 views
0

У меня есть страница, где люди выбирают zipcode из выпадающего списка. когда выбран конкретный zipcode, он переходит на страницу, где отображаются окрестности в этом zipcode. Я не хочу использовать gridview, а данные должны отображаться как одно рядом с другим или разделенное комами. Я использую базу данных SQL. Может ли кто-нибудь предложить мне какие-либо идеи, как я могу это достичь?Динамически отображать запрошенные данные в строку

protected void Page_Load(object sender, EventArgs e) 
{ 
    SqlConnection conn = new SqlConnection(@"Data Source = tc02e1p4; user id=zipcode_user; password=zipcode_!T; Initial Catalog = ZIPCodeRef"); 
    conn.Open(); 
    string query = " Select [Facility] from ZIPCodeReference where category = 'SNC' and ZIP='77003'"; 
    SqlCommand com = new SqlCommand(query, conn); 
    using(SqlDataReader reader = com.ExecuteReader()) 
    { 
     while(reader.Read()) 
     {       
      for(int i = 0; i < reader.FieldCount; i++) 
      { 
       TableRow row = new TableRow(); 
       for (int j=0; j < 1; j++) 
       { 
        TableCell cell = new TableCell(); 

        var ColumnContentAsString = reader[i].ToString(); 
        TextBox tb = new TextBox(); 
        tb.Width = new Unit("110%"); 
        tb.Text = ColumnContentAsString; 
        cell.Controls.Add(tb); 
        row.Cells.Add(cell); 
       } 
       Response.Write(","); 
       Table1.Rows.Add(row); 
      }       
     } 
    } 
} 
+0

Вы попробовали что-то, что не работает? – bcesars

+0

Я использовал таблицу на странице .aspx. в .cs, я создал соединение sql и получил данные в наборе данных. Я поражен отправкой каждого результата запроса в таблицу. Я пытаюсь, но не мог даже найти полезную информацию. – Shavy

ответ

0

с помощью ADO.NET, вы можете поместить результат запроса в DataTable, а затем использовать цикл Еогеасп цикл по результату, каждый раз добавляя к StringBuilder. Затем у вас есть текстовое поле/ярлык для отображения этого строкового редактора. Такая же процедура применяется для Entity Framework. ОБНОВЛЕНО: использовать это вместо

TextBox tb = new TextBox(); 
while (reader.Read()) 
{ 
    var myString = reader.GetString(0); //The 0 stands for "the 0'th column", so the first column of the result. 
    tb.Text +=", "+myString; 
} 
+0

Я использовал набор данных и ввел данные в набор данных ds с помощью adapter.Fill (ds); Теперь я поражен тем, как мне нужно отправить каждый результат в строку таблицы. – Shavy

+0

Можете ли вы предоставить мне какой-либо пример кода, связанный с этим, пожалуйста .. – Shavy

+0

См. Этот http://stackoverflow.com/questions/6346458/ net-how-do-i-retrieve-specific-items-out-of-a-dataset – Minh

0

Если вы хотите отобразить результат в одном ряду с несколькими столбцами, как запятую, этот код работает.

protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!Page.IsPostBack) 
     { 
      using (SqlConnection conn = new SqlConnection(@"Data Source = tc02e1p4; user id=zipcode_user; password=zipcode_!T; Initial Catalog = ZIPCodeRef")) 
      { 
       conn.Open(); 

       string query = " Select [Facility] from ZIPCodeReference where category = 'SNC' and ZIP='77003'"; 

       using (SqlCommand com = new SqlCommand(query, conn)) 
       { 
        using (SqlDataReader reader = com.ExecuteReader()) 
        { 
         while (reader.Read()) 
         { 
          TableRow row = new TableRow(); 

          for (int i = 0; i < reader.FieldCount; i++) 
          { 
           TableCell cell = new TableCell(); 

           var tempString = reader[i].ToString(); 
           var ColumnContentAsString = (i == (reader.FieldCount - 1)) ? tempString + "," : tempString; 

           TextBox tb = new TextBox(); 
           tb.Width = new Unit("110%"); 
           tb.Text = ColumnContentAsString; 
           cell.Controls.Add(tb); 
           row.Cells.Add(cell); 

          } 

          Table1.Rows.Add(row); 
         } 
        } 
       } 

       conn.Close(); 
      } 
     } 
    } 

Я изменил следующие вещи в вашем коде,

  • Page.IsPostBack
  • Использование заявлений для SqlConnection и SqlCommand
  • Подключение близко

Также вы должны рассмотреть Parameterized query для вашего встроенного qu тальные.

Смежные вопросы