我正在帮助某人修复一个VB应用程序,但是只需要一点点语法。
我有以下内容:
Dim _dt = Datalayer.ConvertSqlDataSourceToDataTable(SqlDataSourceCart)
If _dt.Rows.Count > 0 Then
'For Each here...
End If
我需要做的是使用For或For Each循环遍历每一行并获取ProductID字段。我认为它应该是这样的:
Dim someString As String
For Each _row As DataRow In _dt.DataSet.Tables(0).Rows
someString += _row(ProductID) & ", "
Next
答案 0 :(得分:1)
假设_dt已经是DataTable
类型:
Dim someStringBuilder As New System.Text.StringBuilder()
For Each _row As DataRow In _dt.Rows
someStringBuilder.Append(_row.Field(Of String)("ProductID")).Append(",")
Next
If someStringBuilder.Length<>0 Then someStringBuilder.Length -= 1
Dim someString = someStringBuilder.ToString()
或者,如果您可以使用LINQ-To-DataSet:
Dim IDs = _dt.AsEnumerable.Select(Function(r) r.Field(Of String)("ProductID"))
someString = String.Join(",", IDs)
答案 1 :(得分:0)
someString += _row["ProductID"] & ", "