Datum in Datenbank schreiben (beim gleichzeitigen Lesen)

  • VB.NET

Es gibt 64 Antworten in diesem Thema. Der letzte Beitrag () ist von kevinb86.

    Datum in Datenbank schreiben (beim gleichzeitigen Lesen)

    BITTE NACH UNTEN DURCHSCROLLEN. IST EIN ZUSAMMENGEFÜGTES THEMA!

    Edit by der_Kurt:
    Bitte auf das richtige Unterforum achten
    * Topic verschoben *

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

    Das hatte ich auch schon, das funktioniert nicht.

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    3. End Sub
    4. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    5. Dim con As New OleDbConnection
    6. Dim cmd As New OleDbCommand
    7. Dim reader As OleDbDataReader
    8. 'Baut die Verbindung auf
    9. con.ConnectionString =
    10. "connectionstring...."
    11. cmd.Connection = con
    12. 'SQL Befehl zur Abfrage von allem aus "Artikel"
    13. cmd.CommandText = "select * from tabelle1"
    14. cmd.CommandText = "UPDATE tabelle1 SET spalte2 = test"
    15. Try
    16. 'Verbindung öffnen
    17. con.Open()
    18. reader = cmd.ExecuteReader()
    19. ListBox1.Items.Clear()
    20. Do While reader.Read()
    21. ListBox1.Items.Add(
    22. reader("spalte1"))
    23. Loop
    24. reader.Close()
    25. con.Close()
    26. Catch ex As Exception
    27. End Try

    VB.NET-Quellcode

    1. cmd.CommandText = "select * from tabelle1"
    2. cmd.CommandText = "UPDATE tabelle1 SET spalte2 = test"

    existiert die erste zeile da noch oder nicht? ;)
    EDIT:
    falsch formuliert...
    existiert der Wert in cmd.CommandText der ersten Zeile noch? ;)

    lg
    ScheduleLib 0.0.1.0
    Kleine Lib zum Anlaufen von Code zu bestimmten Zeiten
    Mit der ersten Zeile lasse ich mir doch nur alles auswählen von Tabelle1, also alle Spalten. Das brauch ich doch später für diesen Teil:

    VB.NET-Quellcode

    1. Try
    2. 'Verbindung öffnen
    3. con.Open()
    4. reader = cmd.ExecuteReader()
    5. ListBox1.Items.Clear()
    6. Do While reader.Read()
    7. ListBox1.Items.Add(
    8. reader("spalte1"))
    9. Loop
    10. reader.Close()
    11. con.Close()
    12. Catch ex As Exception
    13. End Try


    ODer nicht?
    du überschreibst aber mit

    VB.NET-Quellcode

    1. cmd.CommandText = "UPDATE tabelle1 SET spalte2 = test" 'Zeile 2

    den Wert von

    VB.NET-Quellcode

    1. cmd.CommandText = "select * from tabelle1" 'Zeile 1


    der SELECT wird somit nie ausgeführt sondern immer nur ein UPDATE
    ScheduleLib 0.0.1.0
    Kleine Lib zum Anlaufen von Code zu bestimmten Zeiten
    Mit
    ...CommandText = ""
    sagst du, WELCHER Befehl ausgeführt werden soll.
    Mit
    ...ExecuteReader
    führst du denn Befehl, der in CommandText steht dann tatsächlich aus!

    Dh wenn du zwei Befehle ausführen willst, solltest du auch zweimal Execute... aufrufen

    kevinb86 schrieb:

    Kannst du mir es in Codeform erklären?

    Nein, das möge jemand anders tun.
    Einen aus dem Internet runterkopierten Code mal auf die Schnelle "passend" machen, ist mir jetzt zu blöd. Macht auch wenig Sinn für DICH, wenn du dich weigerst, erstmal ein bißchen Grundlagen zu lernen und zu VERSTEHEN, was dein Code eigentlich macht.

    Schreiben in Datenbank

    Ich schon wieder:

    VB.NET-Quellcode

    1. Try
    2. 'Verbindung öffnen
    3. con.Open()
    4. reader = cmd.ExecuteReader()
    5. ListBox1.Items.Clear()
    6. Do While reader.Read()
    7. ListBox1.Items.Add(
    8. reader("spalte1") & " ---" & Now)
    9. Loop
    10. reader.Close()
    11. con.Close()
    12. Catch ex As Exception
    13. End Try


    Soweit so gut, mir werden nun in der Listbox die Daten angezeigt und dahinter dann das aktuelle Datum + Uhrzeit, jedes mal wenn ich auf einen Button klicke. Nun möchte ich in diesen Loop noch eine "Schreiben" Funktion setzen, die in einer anderen Spalte gleichzeitig was reinschreibt. Wie ist denn die schreiben Funktion von Datenbankdaten? Mit Write gehts nicht und mit einem Reader kann man wohl auch kaum schreiben :D

    *Topics zusammengeführt*

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Ich weise dich jetzt auch nochmal darauf hin, dass ein Topic pro Thema reicht. Bisher weicht das Thema so minimal vom Ursprungspost ab, dass kein neuer Thread nötig ist. Außerdem sollte es doch wohl langsam mal klar sein, in welches Unterforum Datenbankfragen gehören. Die nächsten Topics werden gelöscht und nicht mehr verschoben. Übrigens solltest du mal die aktuelle PN von mir an dich lesen.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    mit

    Quellcode

    1. "INSERT INTO tabelle (spalte2) VALUES ('" & now() & "')"
    musst halt schaun ob spalte2 den werte-typ von now() akzeptiert
    also in bezug auf int, string, datetime etc.
    Was muss ich denn nun machen damit? Muss ich ein neuen Command deklarieren und dann unten anfügen? Also nochmal, ich möchte gleichzeitiges schreiben (aktuelles Datum) in Spalte2, während Spalte 1 ausgelesen wird und angezeigt wird... Kann sich das jmd mal bitte angucken?

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. Dim con As New OleDbConnection
    3. Dim cmd As New OleDbCommand
    4. Dim reader As OleDbDataReader
    5. 'Baut die Verbindung auf
    6. con.ConnectionString =
    7. "asflösfölasfklö"
    8. cmd.Connection = con
    9. 'SQL Befehl zur Abfrage von allem aus "Tabelle1"
    10. cmd.CommandText = "select * from tabelle1"
    11. Try
    12. 'Verbindung öffnen
    13. con.Open()
    14. reader = cmd.ExecuteReader()
    15. ListBox1.Items.Clear()
    16. Do While reader.Read()
    17. ListBox1.Items.Add(
    18. reader("spalte1") & " ---" & Now)
    19. Loop
    20. reader.Close()
    21. con.Close()
    22. Catch ex As Exception
    23. End Try