我正在寻求有关如何在查询中返回多行的帮助。例如,如果我想要访问列的全部内容,我想将所有行返回到ListBox。
Imports System.Data.OleDb
Public Class Form1
Dim theConnectionString As New OleDbConnection
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
txtSQL.Clear()
theResults.Items.Clear()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
theConnectionString.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Marc Wilson\Documents\FiddleFuckDB.accdb"
theConnectionString.Open()
Dim theDataSet As New DataSet
Dim theDataTable As New DataTable
theDataSet.Tables.Add(theDataTable)
Dim theDataAdapter As New OleDbDataAdapter
Dim theSQLStatement As String
Dim theDBCommand As New OleDbCommand
theSQLStatement = txtSQL.Text
Try
theDataAdapter = New OleDbDataAdapter("SELECT [City] FROM PI", theConnectionString)
theDataAdapter.Fill(theDataTable)
Dim theRowCount As Integer = theDataTable.Rows.Count
Dim theItemCount As Integer = theDataTable.Columns.Count
MessageBox.Show("Row Count: " & theRowCount & vbNewLine & "Item Count: " & theItemCount, "Your Results...")
Catch ex As Exception
MessageBox.Show(ex.ToString)
End Try
Try
theDBCommand = New OleDbCommand(theSQLStatement, theConnectionString)
theResults.Items.Add(theDataTable.Rows(0).Item(0))
Catch ex As Exception
MessageBox.Show(ex.ToString)
End Try
theConnectionString.Close()
End Sub
End Class
我正在使用的SQL语句是SELECT [City] FROM PI
(我有3行数据和4个不同的列)我相信我的错误存在于此部分theResults.Items.Add(theDataTable.Rows(0).Item(0))
答案 0 :(得分:1)
您尚未显示您尝试使用的txtSQL.Text
的sql语句。
一个简单的SELECT
语句将从表中检索所有行,除非使用WHERE
子句来限制返回的行数。
答案 1 :(得分:0)
试试这样........
Dim x as Integer
Try
theDataAdapter = New OleDbDataAdapter("SELECT [City] FROM PI", theConnectionString)
theDataAdapter.Fill(theDataTable)
For x = 0 to theDataTable.Rows.Count -1
theResults.Items.Add(theDataTable.Rows(x).Item(0))
Next
Catch ex As Exception
MessageBox.Show(ex.ToString)
End Try