在这里,我想要的只是将每一行的值存储到1个变量中,使用"# - #"作为分隔符,并将它们附加到字符串列表,但它不起作用,有没有办法做到这一点?提前致谢
Private result As List(Of String)
Public Function GetFromDB()
Dim values As String
Try
result = New List(Of String)
myConn = New SqlConnection("SERVER=ABALTAZAR-L1\SQLEXPRESS;Database=test;Integrated Security=True;")
myCmd = myConn.CreateCommand
myCmd.CommandText = "SELECT * FROM tbl_Item"
myConn.Open()
myReader = myCmd.ExecuteReader()
values = String.Join("#-#", myReader.GetValue(0), myReader.GetValue(1),
myReader.GetValue(2), myReader.GetValue(3))
result.Add(values)
myConn.Close()
Catch ex As Exception
MsgBox(ex)
End Try
Return result
End Function
答案 0 :(得分:0)
您需要在代码中添加while
循环以检索myReader
中的每一行。还有一件事,不需要在代码中使用string.Join
,您可以使用Concat()函数直接从sql查询中获取连接列。这是您修改后的代码。
Try
result = New List(Of String)
myConn = New SqlConnection("SERVER=ABALTAZAR-L1\SQLEXPRESS;Database=test;Integrated Security=True;")
myCmd = myConn.CreateCommand
myCmd.CommandText = "SELECT CONCAT(Column1, '#-#', Column2, '#-#', Column3) AS ResultCol FROM tbl_Item"
myConn.Open()
myReader = myCmd.ExecuteReader()
While myReader.read()
result.Add(myReader.GetValue(0))
End While
myConn.Close()
Catch ex As Exception
MsgBox(ex)
End Try