Acces Datenbank speichern

  • VB.NET

Es gibt 20 Antworten in diesem Thema. Der letzte Beitrag () ist von T1g0r.

    Acces Datenbank speichern

    Hallo Leute,

    Mein Frage ist eig. ganz simpel.

    Wie speichere ich einen Text in Textbox1 in eine bestimmte Zeile in einer Acces Datenbank?

    Hab mir mal ein paar Tutorials zu Datenbank Programmierung an sich durchgelesen bin aber dadurch nicht wirklich schlauer geworden weil das meiste was ich gefunden habe leider mit anderen Datenbanktypen zu tun hatte.

    Ich hoffe ihr könnt mir helfen.

    mfg
    Ohne Code keine vernüftige Antwort.
    Der wichtigste Unterschied zwischen den einzelnen Datenbanktypen ist der connection-String und der Adapter den man nehmen muss. Der Rest ist meisten identisch.
    NB. Es ist doch schön, wenn man lesbare Namen vergibt. Siehe auch [VB.NET] Beispiele für guten und schlechten Code (Stil).
    Da kann ich wieder nur zu Google raten.
    Der erste Link sieht doch schon mal gut aus...
    wintoolz.de
    • wintoolz.KeyLocker - Programm zum sicheren Verwalten von Passwörten
    • wintoolz.CodeGallery - Datenbank für Codebeispiele veschiedener Programmiersprachen
    • wintoolz.Haushaltsbuch - Dient zum Auflisten der Aktivitäten ihrer Bankkonten

    Benutze auch du Ecosia
    @t1g0r Ich verwende vb 2008 und nicht vb6 oder macht das etwa keinen Unterschied?

    @INOPIAE Was soll ich den für einen Code posten wenn ich keinen habe? ^^ Deswegen frage ich ja hier...
    Kann nur versuchen es mal an einem Beispiel zu erklären:

    Also ich habe eine Textbox1 und eine Textbox2 mit einem Klick auf einen Button soll er den text von Textbox1 in Spalte 1 Zeile 1 in die Tabelle Test in der Datenbank eintragen (AccesDB) den Text von Textbox2 soll er in Spalte 2 Zeile 1 eintragen. Denke mal das, dass verständlich ist :rolleyes:

    Jetzt schonmal ein Danke für eure Hilfe...

    lg
    Oh sorry mein Fehler :whistling:
    Du kannst dir das mal anschauen.
    Ist zwar für MySQL, das kannst du aber auf Access umstellen indem du die Deklaration änderst.
    Auch brauchst du kein .Net Connector.
    wintoolz.de
    • wintoolz.KeyLocker - Programm zum sicheren Verwalten von Passwörten
    • wintoolz.CodeGallery - Datenbank für Codebeispiele veschiedener Programmiersprachen
    • wintoolz.Haushaltsbuch - Dient zum Auflisten der Aktivitäten ihrer Bankkonten

    Benutze auch du Ecosia
    Sorry, habe keinerlei Erfahrung mit Datenbankprogramierung ;(

    Es reicht zwar noch um den Code im Zusammenhang zu verstehen aber ihn abzuändern leider nicht. Muss mich da erst noch mehr mit der Sache beschäftigen und mir noch ein kleines Büchlein zulegen...
    Ist eig. das letzte was bei dem Programm noch fehlt den Rest hab ich...
    Du musst eigentlich nur das MySQL in Oledb.Oledb ändern.
    Das ganze ein bisschen anpassen:

    VB.NET-Quellcode

    1. Public Class Form1
    2. Dim conn As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;User Id=admin;Password=;")
    3. Dim cmd As New OleDb.OleDbCommand
    4. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    5. cmd = "SELECT username, password, ssid FROM `pbp_login` WHERE username = '" & Textbox1.text & "' "
    6. Try
    7. conn.Open()
    8. Catch ex As Exception
    9. MessageBox.Show(ex.Message)
    10. End Try
    11. conn.Close()
    12. End Sub
    13. End Class
    wintoolz.de
    • wintoolz.KeyLocker - Programm zum sicheren Verwalten von Passwörten
    • wintoolz.CodeGallery - Datenbank für Codebeispiele veschiedener Programmiersprachen
    • wintoolz.Haushaltsbuch - Dient zum Auflisten der Aktivitäten ihrer Bankkonten

    Benutze auch du Ecosia
    Ok soweit hab ich´s verstanden. Aber meine Datenbank liegt nicht auf einem Server sondern ist Lokal, sry hab ich vergessen dazu zu sagen...

    Was muss ich den bei Host dann eintragen den Pfad zur DB?

    Hier muss ja dann auch noch etwas geändert werden oder?

    VB.NET-Quellcode

    1. cmd = "SELECT username, password, ssid FROM `pbp_login` WHERE username = '"
    Der Host ist doch schon als mdb-Datei eingetragen. Das ändern. Die SQL-Abfrage musst du natürlich ändern, auf den Befehl die du ausführen willst.
    wintoolz.de
    • wintoolz.KeyLocker - Programm zum sicheren Verwalten von Passwörten
    • wintoolz.CodeGallery - Datenbank für Codebeispiele veschiedener Programmiersprachen
    • wintoolz.Haushaltsbuch - Dient zum Auflisten der Aktivitäten ihrer Bankkonten

    Benutze auch du Ecosia
    Ok, habe ich soweit alles gemacht und verstanden. Hab ein bisschen rumprobiert aber iwie gehts immer noch nicht die Zeile

    VB.NET-Quellcode

    1. cmd = "SELECT username, password, ssid FROM `pbp_login` WHERE username = '"


    bekomme ich net angepasst. Wie lautet denn dieser Befehl bzw. wie wird der genannt? :S
    Wenn du etwas in die DB eintragen willst muss dieser etwa so lauten:

    SQL-Abfrage

    1. INSERT INTO DeineTabelle (Spalte1, Spalte2) VALUES (WertfürSpalte1, Wert für Spalte2)

    Bei dne Werten musst du unter umständen Hochkomma setzen ' '.
    Hier ist ein Beispiel.
    wintoolz.de
    • wintoolz.KeyLocker - Programm zum sicheren Verwalten von Passwörten
    • wintoolz.CodeGallery - Datenbank für Codebeispiele veschiedener Programmiersprachen
    • wintoolz.Haushaltsbuch - Dient zum Auflisten der Aktivitäten ihrer Bankkonten

    Benutze auch du Ecosia
    Ok, Danke für deine Ausdauer ich glaub wir sind auf nem guten Weg ^^

    Bekomme nur noch 2 Fehler angezeigt:

    Einmal bei INSERT -> wurde nicht deklariert
    und
    DeineTabelle INTO (Spalte1, Spalte2) VALUES (WertfürSpalte1, Wert für Spalte2) -> End of Anweisung erwartet
    Das muss natürlich so lauten:

    VB.NET-Quellcode

    1. cmd = "INSERT INTO DeineTabelle (Spalte1, Spalte2) VALUES (WertfürSpalte1, Wert für Spalte2)"
    wintoolz.de
    • wintoolz.KeyLocker - Programm zum sicheren Verwalten von Passwörten
    • wintoolz.CodeGallery - Datenbank für Codebeispiele veschiedener Programmiersprachen
    • wintoolz.Haushaltsbuch - Dient zum Auflisten der Aktivitäten ihrer Bankkonten

    Benutze auch du Ecosia
    Klappt aber immer noch nicht so gazn benutze ich diesen Code hier:

    VB.NET-Quellcode

    1. cmd = '"INSERT INTO LogCheck (Loginname, Passwort) VALUES (Textbox1.text, textbox2.text)"'

    -> Sagt mir das "=" Ausdruck erwartet

    Nehme ich das Hochkomme weg:

    VB.NET-Quellcode

    1. cmd = "INSERT INTO LogCheck (Loginname, Passwort) VALUES (Textbox1.text, textbox2.text)"

    -> Der Wert von Typ "String" kann nicht in "System.Data.OleDB.OleDBCommand" konvertiert werden.
    Vielleicht solltest Du Dir noch einmal die Grundlagen der Programmierung anzuschauen. Die Textfelder musst Du natürlich noch auslesen und in den String verknüpfen.

    VB.NET-Quellcode

    1. cmd = "INSERT INTO LogCheck (Loginname, Passwort) VALUES (" &" Textbox1.text &", " & textbox2.text &")"
    NB. Es ist doch schön, wenn man lesbare Namen vergibt. Siehe auch [VB.NET] Beispiele für guten und schlechten Code (Stil).
    Bekomme die Fehlermeldung aber immer noch:

    Der Wert von Typ "String" kann nicht in "System.Data.OleDB.OleDBCommand" konvertiert werden.

    Nachtrag: Meine Verbindungszeichenfolge ist auch anders als hier angegeben:

    VB.NET-Quellcode

    1. Provider=Microsoft.ACE.OLEDB.12.0

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „pAbst0“ ()

    ahoi,

    ich glaube es sollte eher so aussehen

    VB.NET-Quellcode

    1. cmd = new oledb.oledbcommand("<SQL-Anweisung>", <connectionviariable>)


    is aber nur ne vermutung
    Grüße Manu

    Was Gott dem Menschen erspart hat, kann der Computer.
    Billy ©, (*1932), Schweizer Aphoristiker
    Quelle: www.Aphorismen.de