Typisiertes DataSet einer Access-Datenbank und INSERTs

  • VB.NET

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von HerrFrie.

    Typisiertes DataSet einer Access-Datenbank und INSERTs

    Hallo liebe Gemeinde,

    ich schreibe gerade ein Programm auf Basis einer Access-Datenbank. Auf dem typisierten DataSet in meinem Projekt habe ich mir in einem der TableAdapter eine neue Methode für einen Insert angelegt. Eins bekomme ich irgendwie nicht hin: Die Typen der Parameter entsprechen leider nicht den Datentypen in meiner Datenbank. Kann men irgendwie die Datentypen der Parameter ändern? Tausend Dank im Voraus für Eure Hilfe!

    Gruß
    Marcus
    Moin,

    wenn du die Befehle ohne den Designer machst, must du die Befehle UPDATE, INSERT und DELETE von Hand erst richtig definieren.

    VB.NET-Quellcode

    1. Dim INSERT_Cmd As New OleDbCommand("INSERT INTO Test (Name, Vorname, Geburtsdatum) VALUES (@Name, @Vorname, @Geburtsdatum)")
    2. INSERT_Cmd.Parameters.Add("@Name", OleDbType.VarChar, 30, "Name")
    3. INSERT_Cmd.Parameters.Add("@Vorname", OleDbType.VarChar, 30, "Vorname")
    4. INSERT_Cmd.Parameters.Add("@Geburtsdatum", OleDbType.DBTimeStamp, 30, "Geburtsdatum")
    5. DataAdapter.InsertCommand = Insert_Cmd

    So z.B. für den Insert Befehl.
    Du mußt aber halt schauen, wie du die Spalten in Access definiert hast. Um dies einfach zu machen, kannst du die Datenbank auch einfach auslesen und die Spaltendefinition einfach anzeigen lassen.


    Spoiler anzeigen

    VB.NET-Quellcode

    1. Public Function TabellenStruktur(ByVal Tabellenname As String) As DataTable
    2. conn.Open()
    3. Dim DT As DataTable = conn.GetSchema("Tables")
    4. Dim Cmd As OleDBCommand = conn.CreateCommand()
    5. Dim Dr As OleDBDataReader
    6. With Cmd
    7. .CommandText = "Select * From " & Tabellenname
    8. .CommandType = CommandType.Text
    9. Dr = .ExecuteReader
    10. End With
    11. DT = Dr.GetSchemaTable
    12. conn.Close()
    13. Return DT
    14. End Function

    Aufruf mit

    VB.NET-Quellcode

    1. Tabellenstruktur("Tabellenname")

    Das DT läßt du dann in einem DataGridView anzeigen und fertig.