A Select
запрос работает нормально, когда я ввожу его в SQL Server Management Studio на SQL Server:
SELECT [00:00]
FROM MY_TABLE
WHERE whatevercondition ...
Имя столбца «00:00» - у него двойное двоеточие.Когда я пытаюсь получить значение из этого столбца в функции VB.net с помощью SqlDataReader
, результатом всегда является ошибка:
Столбец не существует
Я пытался ввести имя столбца во всех вариантах скобок, кавычек, без скобок и т. Д. Я все еще не могу получить значение в таблице.
Мой код VB.NET:
Dim Counter_Adapter As New SqlDataAdapter
Dim Counter_Table As New DataTable
Dim Counter_Reader As SqlDataReader
Dim SQLTemp As String
Dim TheField as String
Dim result as String
TheField = "[00:00]"
SQLTemp = "SELECT " & TheField & " FROM MY_TABLE WHERE whatevercondition ..."
Data_CMD_Counter = New SqlCommand(SQLTemp, MyDatabaseConnection)
Counter_Adapter.SelectCommand = Core.Data_CMD_Counter
Counter_Adapter.Fill(Counter_Table)
Counter_Reader = Core.Data_CMD_Counter.ExecuteReader
If Counter_Reader.HasRows = True Then
result = Counter_Table.Rows(0)(TheField).ToString() 'This line causes the error: Column "[00:00]" not included in the table.
Else
End If
Как правильно указывать / экранировать имя столбца, чтобы оно работало в SqlDataReader
?