Completer Inhalt einer Combobox in eine Datenbank schreiben

  • VB6

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von Rootbob91.

    Completer Inhalt einer Combobox in eine Datenbank schreiben

    Hallo Leute

    Ich hoffe das Ich hier an der Richtigen stelle bin.
    Ich suche für VB 2010 eine Lösung wie ich den compl. Inhalt einer Combobox(nur zahlen) in eine Datenbank(Tabelle) schreibe.
    Die Datenbank hat 1 Feld mit namen D1 und da sollte der Inhalt der combobox rein. Ist das möglich?
    oder gibt es eine andere Lösung dafür?

    Danke
    Markus
    Sicher das du VB6 nutzt?

    Willst du alles was in der ComboBox steht in das DB Feld schreiben oder nur den gewählten Eintrag?
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen

    Floh-2001 schrieb:

    verwende vb2010

    Du verwendest VB.net und Visual Studio 2010. Diese Verwechslung kommt immer wieder vor.

    Kommen alle Einträge in ein Tabellenfeld (1,2,3,4,...,20) oder ein Eintrag pro Zeile?
    There is no CLOUD - just other people's computers

    Q: Why do JAVA developers wear glasses?
    A: Because they can't C#

    Daily prayer:
    "Dear Lord, grand me the strength not to kill any stupid people today and please grant me the ability to punch them in the face over standard TCP/IP."
    Pseudocode:

    For each Eintrag in CboBox
    tabelle.row.add(Eintrag)
    next
    There is no CLOUD - just other people's computers

    Q: Why do JAVA developers wear glasses?
    A: Because they can't C#

    Daily prayer:
    "Dear Lord, grand me the strength not to kill any stupid people today and please grant me the ability to punch them in the face over standard TCP/IP."
    Danke
    werde ich am Abend ausprobieren.

    cmd1.connection = con
    cmd1.commandtext = "select * from ftisch"
    reader = cmd1.executereader()
    for each eintrag in combobox1.items
    a = eintrag
    next
    cmd1.commandText = "insert into ftisch" & "d1)" & "values ('" & a & "')"

    so sieht mein derzeitiger Code aus

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Floh-2001“ ()

    Schau dir das hier mal an:
    Beispiel SQL Insert

    VB.NET-Quellcode

    1. ' allgemein kommt es darauf an, ob du mit einer simplen Auflistung wie hier arbeitest,
    2. ' oder du komplexe Datentypen verwendest, kann natürlich auch sein, dass deine CBB z.B. an ne Auflistung von Kunden gebunden ist..
    3. For Each cbbItem In ComboBox1.Items
    4. ' ein cbbItem ist vom Typ Object !!
    5. ' Verwende immer wenn du kannst Using, dieses Schlüsselwort "säubert" alles im Nachhinein ohne das du Dispose() oder Close() aufrufen musst
    6. Using con As New SqlClient.SqlConnection("DEIN CONNECTION STRING")
    7. ' Wenn du die Verbindung nicht öffnest, kannst auch nix machen.. ;)
    8. Await con.OpenAsync()
    9. Using cmd As New SqlClient.SqlCommand("INSERT INTO tabelle SET item=@item", con)
    10. cmd.Parameters.AddWithValue("@item", cbbItem.ToString())
    11. Await cmd.ExecuteNonQueryAsync()
    12. End Using
    13. End Using
    14. Next


    Natürlich kann man hier jetzt nicht alles unterbringen..
    Bezogen auf:
    - Schlüsselwort Using
    - Datentypen (Äpfel sind keine Birnen..)
    - Async / Await
    - Nicht alles einzelnd zuzuweisen wie du oben getan hast, sondern die Konstruktoren dafür zu verwenden also -> Konstruktoren
    - Dispose() // Close()
    - uvm..

    PS: Was mir im Nachhinein auffällt:
    Du versuchst oben einen Lesevorgang (ExecuteReader...), du möchtest natürlich etwas eintragen sowie ich dich verstanden habe, heißt du solltest das auch dementsprechend umbauen.
    Dazu brauchst du wie in meinem Beispiel die ExecuteReaderNonQuery() Funktion (Async oder normale Variante), und natürlich das passende SQL-Command a la "INSERT".
    Polling is trolling!

    Achtung: Ich habe die komische Angewohnheit, simple Dinge zu verkomplizieren..

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Rootbob91“ ()