2015-03-03 5 views
0

Я хочу инициализировать один размерный массив из базы данных, но он не инициализируется.инициализировать один размерный массив из базы данных

Dim cmdstring As String = "SELECT DISTINCT(category) from inventory" 
command = New MySqlCommand(cmdstring, connection) 

Dim reader As MySqlDataReader 
reader = command.ExecuteReader(CommandBehavior.CloseConnection) 

While reader.Read() 
    Dim xValues() As String = reader("category") 
End While 

connection.Close() 
+0

[Массивы в Visual Basic] (https://msdn.microsoft.com/en-us/library/wak0wfyt.aspx) – Plutonix

+0

Я исправил форматирование вашего сообщения и пару опечаток. Также укажите точное сообщение об ошибке, которое вы получаете в своем вопросе. –

ответ

0

Dim xValues ​​() As String = читателя ("категория")

Это не процесс инициализации массива. Я могу предположить, что вы приняли xValues ​​() как динамический массив. Таким образом, чтобы инициализировать данные, которые вы можете сделать следующее

 Dim xValues() As String 
 

 
     While reader.Read() 
 

 
      ReDim Preserve xValues(xValues.GetUpperBound(0) + 1) 
 
      xValues(xValues.GetUpperBound(0)) = reader("category") 
 

 
     End While

Вы можете сделать это по-другому. Если вы объявите его как список и хотите сохранить данные в этом списке. Вы можете сделать это следующим образом

 Dim xValues As New List(Of String) 
 
     While reader.Read() 
 

 
      xValues.Add(reader("category")) 
 

 
     End While

Надеется, что это может дать вам путь.

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