【发布时间】:2015-09-11 15:56:20
【问题描述】:
我正在尝试使用 linq 查询从 vb 中的数据表中查询一个值,但遇到了几个错误。
这是我的代码:
For Each cl In clients
Dim cn As DataTable
cn = getClients() #datatable with two columns, client code (cln_idck) and client name (cln_name)
Dim clientname As String
clientname = From cntable In cn Where cntable.Item("cln_idck") = cl Select (cntable.Item("cln_name")).ToString()
#do something
Next
我只是想获取客户端名称并将其放入字符串变量 clientname 中,使用客户端代码进行搜索。上面的代码给了我一个错误。
"范围变量名不能匹配"object"类的成员名"
任何想法为什么这不起作用?
感谢您的帮助!
拉斐尔
更新:
client 是一个包含客户代码的列表(字符串)
Dim clients As New List(Of String)
clients.Add("Cln1")
clients.Add("Cln2") #etc.
【问题讨论】:
-
嗨,很抱歉没有澄清这一点。客户端是一个包含客户端代码的列表(字符串)。
-
所以是最后的
ToString导致了问题。用括号括起来,它应该可以工作:Select ((cntable.Item("cln_name")).ToString()) -
@DavidG,我看到了那个帖子并尝试了你上面的代码,但它仍然给我一个错误,这次它说:'system.data.enumerablerowcollection(of string) cannot be convert to string'
-
@RafaelVelásquez 所以我链接的问题确实回答了你的问题,但现在你有另一个问题,史蒂夫已经为你整理了。