ADODB.Recordset: ссылка на столбцы с проблемными именами - решение vb6 завершается неудачно в vb .net - PullRequest
0 голосов
/ 04 апреля 2019

У меня есть старый код vb6, который я перехожу на .NET.Он использует наборы записей ADODB, и некоторые имена столбцов вызывают проблемы: начинаются с цифр или содержат пробелы.VB6 работал, заключая их в квадратные скобки, но VB .NET выдает ошибку компиляции.

Ссылка на типичное имя столбца:

rsVals!Break1Yr4

Ссылки на проблемные имена столбцов:

rsVals![1_yr]

rsVals![Gross 1 Year]

Пример кода:

Dim rsVals As New ADODB.Recordset
rsVals.Open("Mf_BarChart", conn)
Dim Net1Yr, Gross1Yr
Net1Yr = rsVals![1_Yr]
Gross1Yr = rsVals![Gross 1 Year]

Прекрасно компилируется на VB6.Однако в .NET ссылка на [1_Yr] дает «ожидаемый идентификатор», а ссылка на [брутто-1 год] дает «Идентификатор в скобках отсутствует при закрытии»] «Я не смог придумать синтаксис, который он приметКто-нибудь знает, как это сделать?

1 Ответ

1 голос
/ 04 апреля 2019

Вместо использования записи ! попробуйте свойство Fields в наборе записей:

Net1Yr = rsVals.Fields("1_Yr")
Gross1Yr = rsVals.Fields("Gross 1 Year")

Вам не нужно будет использовать скобки в имени столбца для свойства Fields - хотя, если вы включите этот столбец в список столбцов ваших операторов выбора, скобки там (все еще) нужны.

...