【发布时间】:2019-08-05 14:48:39
【问题描述】:
我发现这篇文章对我的项目有帮助:
ADODB RecordSet to string variable VBA
我想把它改成 VB.NET 而不是 VBA,但它不起作用。
我的目标是使用 SQL 创建一个 String()。为了让您了解硬编码后字符串的外观,我们是这样做的:
Public Sub New()
InitializeComponent()
strValue = New String() {"10051", "65658", "25689" etc... }
End Sub
**'My actual code is as follows:**
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs)
Handles MyBase.Load
Dim Connection1 As New ADODB.Connection
Dim Connection1 As New ADODB.Connection
Dim RecordSet1 As New ADODB.Recordset
Dim SqlQuery1 As String, ConnectionString1 As String
Dim strValue As String()
SqlQuery1 = "Select ItemCode From OITM"
ConnectionString1 = "Driver=SQL Server;Server=Myserver; Database=MyDbase;
User Id = sa; Password= 12345"
Connection1.Open(ConnectionString1)
RecordSet1 = New ADODB.Recordset
RecordSet1.Open(SqlQuery1, Connection1)
strValue = TryCast(RecordSet1.Fields("ItemCode").Value, String())
Do While RecordSet1.EOF = False
strValue = TryCast(RecordSet1.Fields("ItemCode").Value, String())
MsgBox(strValue)
RecordSet1.MoveNext()
Loop
我希望 MsbBox 在每次循环时显示 ItemCode,并构建整个(非常长的)字符串。但它显示为空白。
我读到 EOF 在 VB .NET 中可能不起作用。
我必须做什么?
【问题讨论】: