For i = 0 to DTName.Rows.countの値がに等しい場合、最終的にIndexOutOfRangeExceptionエラーがスローされます。制限は。iDTName.Rows.countDTName.Rows.count - 1
すべてのデータ行からすべての値を取得するには、それらをList:に格納します。
Dim strName As New List(Of String)
For i = 0 to DTName.Rows.count - 1
strName.Add(DTName.Rows(i)("Client Name").Tostring())
Next i
または、次のように使用できますForeach。
For Each DR As DataRow In DTName.Rows
strName.Add(DR("Client Name").Tostring())
Next
また、次の場合は冗長チェックを削除することをお勧めしますDTName.Rows.Count > 0
編集:strNameとして宣言し、stringそれに行の値を追加することができます:
For i = 0 to DTName.Rows.count - 1
strName &= (DTName.Rows(i)("Client Name").Tostring() & ",")
Next i
Response.Write(strName)