我有一些要移到.NET的旧vb6代码。它使用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]的引用给出了“期望的标识符”,对[Gross 1 Year]的引用给出了“括号括起来的标识符缺少结束符']'”“ 我还无法提出可接受的语法。有谁知道该怎么做?
答案 0 :(得分:1)
请尝试使用记录集上的Fields属性,而不要使用!
表示法:
Net1Yr = rsVals.Fields("1_Yr")
Gross1Yr = rsVals.Fields("Gross 1 Year")
您不需要在Fields属性的列名上使用方括号-尽管如果您在select语句的列列表中包括该列,那么那里(仍然)仍需要使用方括号。