Адаптер данных oledb не может заполнить данные в таблицу данных - PullRequest
0 голосов
/ 20 января 2019

Я пытаюсь создать набор данных и заполнить одну из таблиц данных внутри него, используя параметр ole db, но он загружает только заголовок столбца без чего-либо внутри него. он загружается правильно, когда я проверяю его в доступе, создав новый мастер запросов

       Dim b As String = txtkensaku.Text


        query = " SELECT O.取引番号 AS [Transaction#], P.商品コード AS 
        ProductCode, P.商品名前 AS Product, P.[カテゴリー] AS カテゴリ, O.販 
        売日 AS TransactionDate, O.販売数量 AS Quantity, O.販売値段
        FROM 販売テーブル AS O, 商品 AS P WHERE (((P.商品コード) Like '" & b 
        & "*') AND ((O.商品コード参照)=[P].[商品コード]))"

        Dim a As New 接続クラス
        con_open()
        Dim adapter As New OleDbDataAdapter("SELECT O.取引番号 AS 
        [Transaction#], P.商品コード AS ProductCode, P.商品名前 AS Product, 
        P.[カテゴリー] AS カテゴリ, O.販売日 AS TransactionDate, O.販売数量 AS 
        Quantity, O.販売値段
        FROM 販売テーブル AS O, 商品 AS P WHERE (((P.商品コード) Like '" & b 
        & "*') AND ((O.商品コード参照)=[P].[商品コード]))", accconection)
        Dim ass As New DataSet
        adapter.FillSchema(ass, SchemaType.Source, "Customers")
        adapter.Fill(ass, "Customers")
        Dim k As DataTable = ass.Tables("Customers")

        DG1.ItemsSource = k.DefaultView

accconection - это соединение для базы данных

    Public strcon As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data 
    Source=C:\Tmp\wpf1.accdb"
    Public accconection As New OleDbConnection(strcon)

функция con_open для открытия счета

   Public Function con_open() As Boolean
    accconection.Close()
    Try
        accconection.Open()
    Catch oledbex As OleDbException
        MessageBox.Show(oledbex.Message, "エラー")
        Return False
    Catch invalidoperationexceptionerr As InvalidOperationException
        MessageBox.Show(invalidoperationexceptionerr.Message, "エラー")
        Return False
    End Try
    If accconection.State <> ConnectionState.Open Then
        MessageBox.Show("データベース接続に失敗しました")
        Return False
    Else
        Return True
    End If
End Function

я пропустил какой-то важный шаг? я также использую этот подход для заполнения таблицы с помощью оператора "select", и он хорошо работает

accessdataset

это если правильно загрузить в доступе но в наборе данных он ничего не показывает

...