2012-07-10 2 views
2

Я пытаюсь выполнить ping мой SQL-сервер с запросом на информацию, а затем передать эту информацию в DataGridView. Хотя это не будет показано в моем коде, я сначала открою свой DBConnection, а затем закрою его. Мой код показан ниже:SQL C# взаимодействия не работают

  using (SqlDataAdapter newDA = new SqlDataAdapter(query, DBConnection)) 
     { 
      DataTable Table = new DataTable(); 
      newDA.Fill(Table); 

      dgvOutput.DataSource = Table; 
     } 

Я знаю, что запрос и DBConnection оба функционирует, потому что они работают в аналогичной части программы, но по какой-то причине, не кажется newDA, чтобы получать какие-либо данные из базы данных. Когда я копирую значение запроса непосредственно в Microsoft SQL Server Management Studio и запускаю его, он получает данные просто отлично. Какие-либо предложения?

+0

Веб? Winforms? –

+0

Не могли бы вы отобразить текст запроса? – Steve

+0

«Сначала я открываю свой DBConnection, а затем закрываю его». SqlTableAdapters обрабатывают закрытие и открытие соединения ... http://stackoverflow.com/a/956469/1449777 – Tom

ответ

3
string connectionString = YOUR_NAME_SPACE.Properties.Settings.Default.CONNECTION_STRING; 
      SqlConnection con = new SqlConnection(connectionString); 
      DataTable DT = new DataTable(); 
      con.Open(); 

      SqlDataAdapter DA = new SqlDataAdapter(YOUR_QUERYQUERY, connectionString); 
      DA.Fill(DT); 
      con.Close(); 
      return DT; 

Теперь после ввода этого кода. в вас проект с небольшими изменениями. Я надеюсь, вы получите то, что нужно изменить.

У вас будет DataTable. это содержит весь контент. вы можете легко разместить содержимое в представлении datagrid. Это просто.

+0

Это определенно помогло мне в правильном направлении. – Kulahan

0

Ну, после того, глядя на моем экране в течение нескольких часов больше, я понял, что мне не хватает:

dgvOutput.AutoGenerateColumns = true; 

После того, как я вошел в это, все работало нормально.

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