Member 14000611 Ответов: 1

Как вставить данные из моего datatable в базу данных MS access с помощью VB.NET-что?


Я пытаюсь вставить свою таблицу данных в базу данных MS Access с помощью VB.Net-да.

Я написал код для этой цели, но это не обновляет таблицу доступа.

Я учусь обходить вокруг да около vb.net применение шаг за шагом. Я также упомянул здесь код mt,так что не могли бы вы, пожалуйста, провести меня в правильном направлении, чтобы исправить это.

Цитата:
Кстати как DataTable и доступ к таблице базы данных имеют одинаковую структуру таблицы.


Что я уже пробовал:

Private Sub btnFinish_Click(sender As Object, e As EventArgs) Handles BbtnFinish.Click

    ImportedData.Columns.RemoveAt(0)
    ImportedData.Columns.RemoveAt(31)

    Dim ConnString As String = "D:\Works\VB.Net Projects\Shipping Helper\Project\Shipping Helper\Shipping Helper\bin\Data\ShipmentDB.accdb"
    Dim DBDataSet As DataSet = New DataSet

    Dim SQLInsertCmd As New OleDb.OleDbCommand
    Dim SQLDelCmd As New OleDb.OleDbCommand

    Using DBCon As OleDb.OleDbConnection = New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ConnString)

        SQLInsertCmd.Connection = DBCon
        SQLDelCmd.Connection = DBCon
        DBCon.Open()

        Dim DBAdpt As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter
        SQLDelCmd.CommandText = "Delete * From AmazonData"
        SQLInsertCmd.CommandText = "INSERT INTO AmazonData ( [order-id] ) SELECT [order-id] FROM ImportedData"

        SQLDelCmd.ExecuteNonQuery()
        SQLInsertCmd.ExecuteNonQuery()

    End Using

    MessageBox.Show("Check files")
    Me.Close()
End Sub

1 Ответов

Рейтинг:
5

Richard MacCutchan

SQLInsertCmd.CommandText = "INSERT INTO AmazonData ( [order-id] ) SELECT [order-id] FROM ImportedData"

Приведенная выше команда передается непосредственно контроллеру доступа, который не имеет возможности считывать данные из вашей таблицы данных, так как это объект памяти. Для построения команд необходимо использовать правильные параметризованные запросы, заполняя каждый параметр элементами таблицы(таблиц) данных. Вам также нужно проверить возвращаемые значения ваших команд, чтобы увидеть, были ли они успешными или нет.