【发布时间】:2013-09-04 09:20:21
【问题描述】:
在 VBA 中我可能有这样的东西:
Dim recordSet As DAO.recordSet
result = recordSet("Column Name")
我试图在 C# 中做同样的事情,但是
result = recordSet("Column Name");
不会起作用,因为 C# 使用方括号来表示集合。 但这似乎也不起作用:
result = recordSet["Column Name"];
对上述 VBA 代码的 C# 等价物有什么想法吗?
编辑:这是我尝试转换以将其放入上下文的完整 VBA 代码
Public Function GetColumnValues( _
database As database, _
column As String, _
table As String _
) As String()
Dim sqlQuery As String
Dim recordSet As DAO.recordSet
Dim recordCount As Integer
Dim results() As String
sqlQuery = "SELECT [" + table + "].[" + column + "]" & _
"FROM [" + table + "];"
Set recordSet = database.OpenRecordset(sqlQuery)
recordSet.MoveLast
recordSet.MoveFirst
recordCount = recordSet.recordCount
ReDim results(recordCount) As String
For i = 1 To recordCount
results(i) = recordSet(column)
recordSet.MoveNext
Next i
recordSet.Close
GetColumnValues = results
End Function
【问题讨论】:
-
如果您发布您尝试过的 C# 代码以及任何错误消息,您更有可能获得帮助。
-
我不确定,但请尝试
recordSet.Fields["Column Name"]; -
@DmitryDovgopoly 谢谢!它最终成为 recordSet.Fields["Column Name"].Value;请张贴作为答案,我会接受。
-
+在 VBA 中不是有效的串联运算符。你应该改用&