1

Используя пример кода на странице поддержки MSDN (http://msdn.microsoft.com/en-us/library/haa3afyz(v=vs.71).aspx), я могу подключиться к моему серверу MS SQL и получить данные из моей базы данных. Вот мой код:Хранить данные, прочитанные с сервера MS SQL

Dim conn As New SqlClient.SqlConnection 
    ' TODO: Modify the connection string and include any 
    ' additional required properties for your database. 
    conn.ConnectionString = "" & _ 
     "integrated security=SSPI;data source=SERVER2;" & _ 
     "persist security info=true;User ID=webuser;initial catalog=Binacionales" 
    Try 
     conn.Open() 
     ' Insert code to process data. 
     MessageBox.Show("Succed to connect to database") 
     'Query 
     Dim myCMD As SqlCommand = New SqlCommand("SELECT operaciones.folio FROM operaciones INNER JOIN rutafolios ON operaciones.folio = rutafolios.folio;", conn) 
     Dim myReader As SqlDataReader = myCMD.ExecuteReader() 
     Dim fNextResult As Boolean = True 
     Do Until Not fNextResult 
      Do While myReader.Read() 
       Console.WriteLine(vbTab & myReader.GetInt32(0)) 
      Loop 
      fNextResult = myReader.NextResult() 
     Loop 
    Catch ex As Exception 
     MessageBox.Show("Failed to connect to data source") 
    Finally 

    End Try 

Этот код правильно извлекает данные и записать его в консоли, теперь я должен хранить эти данные. Я попытался с массивом добавив эти две строки кода:

FolioEstatus(i, 0) = i 

i += 1 

Сразу после записи данных в консоли, но это дает мне следующую ошибку: «Не удалось подключиться к источнику данных».

Это как декларируется мой массив:

Dim FolioEstatus (,) As Integer = Новый Integer(), {}

Как я могу хранить эти данные?

EDIT: Я решить мою проблему с помощью SQL-адаптера:

Dim myCMD As SqlCommand = New SqlCommand("SELECT operaciones.folio FROM operaciones INNER JOIN rutafolios ON operaciones.folio = rutafolios.folio;", conn) 
Dim da As New SqlDataAdapter(myCMD) 
Dim dt As New DataTable() 
da.Fill(dt) 
Dim valor As Int32 

Теперь я в состоянии получить доступ к данным, хранящимся в этой строке:

valor = (dt.Rows(0)("Folio")) 

ответ

0

Почему бы не использовать Таблица данных?

Dim myReader As SqlDataReader = myCMD.ExecuteReader() 
    Dim FolioEstatus = new DataTable() 
    FolioEstatus.Load(myReader) 

Теперь у вас есть экземпляр объекта, специально предназначенный для обработки табличных данных, поступающих из базы данных

For Each row in FolioEstatus.Rows 
     Console.WriteLine("Data from Column ColA = " + row("ColA").ToString() 
     ...... 
    Next 
+0

По какой-то причине это держит дает мне сообщение об ошибке «Не удалось подключиться к источнику данных» , –