我试图在visual basic中实现以下php代码。我用PHP编写它是因为我知道我可以用那种语言做我想做的事,但我不能为我的生活弄清楚如何让它在Visual Basic中工作以循环访问MS SQL数据库。 / p>
$link = mysqli_connect('localhost', 'my_user', 'my_password', 'FakeDB');
$result = mysqli_query($con,"SELECT * FROM FakeDB");
$concatDupes = Array();
for ( $i = 0, $i< count($result), $i++) {
if ( $result[$i] == $result[$i + 1] {
array_push($concatDupes,$result[$i] + $result[$i + 1])
} else {
array_push( $concatDupes, $result[$i])
}
}
我试图使用this post中的代码,但无济于事。 (我将MsgBox("hello")
置于while
循环内,没有发生任何事情)我还调查了以下内容,但也没有成功。
Dim i = Me.PaymentTableAdapter.GetData().HazWasteAmtColumn.ToString()
MsgBox(i) 'no message box
Dim i = Me.PaymentTableAdapter.GetData().Count
MsgBox(i) ' also no message box
Dim i = Me.PaymentTableAdapter.GetData().Count
MsgBox(GetType(i)) 'type of i is not defined
我知道我的查询返回结果,因为它在DataGridView中工作正常。
其他有用信息:
i
(上面引用的i
中的任何一个),无论我尝试过什么,都不会显示任何内容。我在Public Sub ReadData(ByVal connectionString As String, ByVal queryString As String)
(链接页面中的完整功能)中使用以下内容时会发生什么:
Dim connect = WindowsApplication1.My.Settings.ShopMgtConnectionString
Dim querty As String = "SELECT * "
querty = querty + "FROM SM.PartItem "
ReadData(connect, querty)
立即窗口输出(错误列表不显示):
A first chance exception of type 'System.ArgumentException' occurred in System.Data.dll
A first chance exception of type 'System.ArgumentException' occurred in System.Data.dll
A first chance exception of type 'System.ArgumentException' occurred in System.Data.dll
A first chance exception of type 'System.Data.ConstraintException' occurred in System.Data.dll
A first chance exception of type 'System.ArgumentException' occurred in System.Data.dll
编辑:这是ReadData()方法
Public Sub ReadData(ByVal connectionString As String, _
ByVal queryString As String)
Using connection As New OleDbConnection(connectionString)
Dim command As New OleDbCommand(queryString, connection)
connection.Open()
Dim reader As OleDbDataReader = command.ExecuteReader()
While reader.Read()
Console.WriteLine(reader(0).ToString())
End While
reader.Close()
End Using
End Sub
编辑,再次...... 我已经对正在运行的程序进行了屏幕录制。它没有做任何有用的事情。
答案 0 :(得分:1)
确保您正在阅读非空数据:
While reader.Read()
If reader.IsDBNull(0) = False Then
Console.WriteLine(reader.GetValue(0).ToString())
End If
End While