2015-01-20 5 views
0

У меня проблема с SQL, я действительно не знаю, что это неправильно. Я делаю похожие страницы, такие как phpmyadmin, но в asp.net. Проблема заключается в получении результата запроса. У меня есть TextBox, в который вы можете поместить свой код sql, и после нажатия кнопки код будет выполнен. Все это прекрасно работает, но я также хотел бы увидеть повторы некоторых кодов, особенно с SELECT. Я пробовал один код, но он не работает. Пожалуйста помоги.Показать результат запроса sql Asp.net

   DataTable dt = new DataTable(); 
       using (SqlConnection con = povezava) 
       { 
        using (SqlCommand command = con.CreateCommand()) 
        { 
         command.CommandText = tb_koda.Text; 
         con.Open(); 
         using (SqlDataReader dr = command.ExecuteReader()) 
         { 
          dt.Load(dr); 
         } 
        } 
       } 

Это код, который я написал, но в результате ничего не возвращено.

+0

Ну, в этот момент вы, возможно, сохранили данные в DataTable объекта, теперь вам просто нужно что-то делать с ним (он не будет отображаться на странице, если вы делаете что-то с ним) –

+0

когда вы переходите через код и используете «Data Visualizer», видите ли какие-либо строки заполненных данных.? если да, то если вы ожидаете увидеть данные в DataGrid .. тогда вам нужно привязать datagrid к dt и вызвать метод DataBind DataGridView. Пожалуйста, объясните, как вы ожидаете увидеть эти данные. позволяя пользователям передавать запрос в базу данных через текстовое поле, не очень хорошо. Вы знакомы с «SQL Injection», а также с особыми символами SQL-серверов в отношении запроса, который не выполняется .. ?? – MethodMan

+0

Да, на самом деле я использовал это, но данные не были заполнены, что меня беспокоит. –

ответ

-1

Пожалуйста, попробуйте

DataTable dt = new DataTable(); 
using (SqlConnection con = povezava) { 
    using (SqlCommand command = con.CreateCommand()) { 
     command.CommandText = tb_koda.Text; 
     con.Open(); 
     using (SqlDataAdapter adapter = new SqlDataAdapter(command)) 
      adapter.Fill(dt); 
    } 
} 
0

DataTable является объектом в памяти; это не связано ни с чем на экране. Вам нужно извлечь содержимое DataTable в TextBox, хотя привязка его к, например, GridView может привести к более дружественным результатам.

Примите во внимание рекомендации по внедрению SQL!

0

Вы можете попробовать это.

using (SqlConnection con = povezava) 
{ 
using (SqlCommand command = con.CreateCommand()) 
{ 
    command.CommandText = tb_koda.Text; 
    command.Connection = con; 
    con.Open(); 
    using (SqlDataAdapter adapter = new SqlDataAdapter(command)) 
    { 
     DataSet ds = new DataSet(); 
     da.Fill(ds); 
     yourDataGrid.DataSource = ds.Tables[0]; 
     yourDataGrid.DataBind(); 
    } 
    con.Close(); 
} 
} 
Смежные вопросы