VB.NET Access Anbindung Anfänger

Marc2003

Grünschnabel
Hallo,

ich hab mir ein kelines Tool programmiert.
Ich bräuchte jetzt einen Zugriff auf eine Datenbank.
Da ich Office habe, habe ich mir mal schnell in Access eine Tabelle zusammengebastelt.
Ist nichts großes einen Tabelle mit 5 Spalten

Diese Acces Tabelle hab ich abgespeichert, und einfach in mein VisualStudio Projekt gezogen.Dort wird es gleich als Datenbank anerkannt, alles super.

Dann hab ich noch ein DataGridView auf mein Form gezogen, meine Acces Datenbank zugewiesen, wenn ich das Programm ausführe zeigt er mir auch alles wunderschön an.

So zu meinem Problem:

Ich will jetzt aber aus meinem Tool heraus Daten in die Datenbank schreiben.
Ich hab im Internet viele Anleitungen gefunden, aber keins funktioniert so wirklich.

So da dasmein erster zugriff von VB.Net aus, auf eine Datenbank ist, hofffe ich ihr könnt mir weiter helfen, oder ein kleines beispiel geben!

Also mir geht es nur darum, weitere Daten hinzuzufügen, mehr will ich nicht :)

Vielen Dank!
 

Marc2003

Grünschnabel
Also ich bin jetzt etwas weiter gekommen,

Code:
Imports System.Data.OleDB
Public Class Form1

    Dim objConnection As OleDb.OleDbConnection = New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; " & "Data Source=C:\Dokumente und Einstellungen\HoM.SCHWENNINGEN\Desktop\UserDb.mdb")
    Dim objDataAdapter As OleDb.OleDbDataAdapter
    Dim objDataSet As DataSet
    Dim objDataView As DataView
   





    Private Sub INSERT_Datarow()
        Dim cb As OleDbCommandBuilder = New OleDbCommandBuilder(objDataAdapter)

        Try
            objConnection.Open()



            Dim row As DataRow = objDataSet.Tables("Users").NewRow()

            row("Username") = "lala"
            row("Passwort") = "lala"
            row("Email") = "lala"
            row("Datum") = DateTime.Now.ToShortDateString

            objDataSet.Tables("Users").Rows.Add(row)


            objDataAdapter.Update(objDataSet, "Users")

            MessageBox.Show("Neuer Datensatz Username hinzugefügt!", "Neuer Datensatz", MessageBoxButtons.OK, _
               MessageBoxIcon.Information)
        Catch ex As OleDbException
            MessageBox.Show(ex.Message, "Fehler", MessageBoxButtons.OK, _
               MessageBoxIcon.Exclamation)
        Finally
            objConnection.Close()
        End Try


    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        INSERT_Datarow()
    End Sub


End Class

So aber bei der Zeile kommt folgender Fehler:
Dim row As DataRow = objDataSet.Tables("Users").NewRow

Fehler: Der Objektverweis wurde nicht auf eine Objektinstanz gestgelgt!

ICh komm einfach nicht weiter...
 

mage

Erfahrenes Mitglied
Also entweder ist objDataSet null/Nothing oder es gibt im DataSet keine Tabelle (DataTable) mit der Bezeichnung "Users".

Wenn du alles in dein Formular reingezogen hat, sollte dir VS das Dataset ja angelegt und gefüllt haben.
Schau einfach mal in den Quellcode den VS erzeugt hat.
 

Neue Beiträge