Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql query.dbf中的两个select语句_Sql_.net_Dbf_Oledbdataadapter - Fatal编程技术网

Sql query.dbf中的两个select语句

Sql query.dbf中的两个select语句,sql,.net,dbf,oledbdataadapter,Sql,.net,Dbf,Oledbdataadapter,我可以在OleDbCommand中的一个查询中在不同的表中执行两个select语句吗?我正在读取一个.dbf文件,我想在上面填充我的数据集 SELECT * FROM BILLHEAD SELECT * FROM BILLDETA 我犯了个错误 Syntax error in FROM clause. 这是我的密码: Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load oLoadD

我可以在OleDbCommand中的一个查询中在不同的表中执行两个select语句吗?我正在读取一个.dbf文件,我想在上面填充我的数据集

SELECT * FROM BILLHEAD SELECT * FROM BILLDETA
我犯了个错误

Syntax error in FROM clause.
这是我的密码:

 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    oLoadDb("SELECT * FROM BILLHEAD " & vbCrLf & " SELECT * FROM BILLDETA")
    DataGridView1.DataSource = oDs.Tables(0).DefaultView 
    DataGridView2.DataSource = oDs.Tables(1).DefaultView

End Sub

Dim oDs As DataSet
Private Function oLoadDb(ByRef dbf_file As String)
    Try
        Dim FilePath As String = "D:\DBF"
        Dim SQLstr As String = dbf_file
        Dim ConnString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & FilePath & _
        " ;Extended Properties=dBASE IV;User ID=Admin;Password="

        Try

            Dim DBFConn As New OleDbConnection(ConnString)
            DBFConn.Open()

            Dim DBFCommand As OleDbCommand = New OleDbCommand(SQLstr, DBFConn)
            Dim DBFDataReader As OleDbDataReader = DBFCommand.ExecuteReader(CommandBehavior.SequentialAccess)

            Dim daData As OleDbDataAdapter
            daData = New OleDbDataAdapter(SQLstr, DBFConn)
            oDs = New DataSet

            daData.Fill(oDs)
            DBFConn.Close()

        Catch ex As Exception
            Debug.WriteLine(ex.Message.ToString)
        End Try
    Catch ex As Exception

    End Try
End Function

如果两个表具有相同的数据结构,则可以执行以下操作

SELECT * FROM BILLHEAD 
UNION
SELECT * FROM BILLDETA

要从表中获取所有数据,请尝试下面的批处理执行


oLoadDb(“SELECT*FROM BILLHEAD SELECT*FROM BILLDETA”)

我遇到了错误:在SQL语句末尾找到了字符。您的两个表是否都包含相同的列(名称和类型)?我的帖子中出现了相同的错误。FROM子句中存在Systax错误。无论如何,我已经接受了这是不可能的。所以我所做的就是这样的oLoadDb(“从BILLHEAD中选择*”)DataGridView1.DataSource=oDs.Tables(0)。DefaultView oLoadDb(“从BILLDETA中选择*”)DataGridView2.DataSource=oDs.Tables(0)。DefaultView我不想使用UNION ALL,因为我必须使用datagridview,并且我想单独绑定它们。例如:DataGridView1.DataSource=oDs.Tables(0)。DefaultView DataGridView2.DataSource=oDs.Tables(1)。DefaultView您无法返回两个结果,因为无法同时传递这两个语句。