Datum in Datenbank schreiben (beim gleichzeitigen Lesen)

  • VB.NET

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

    ahoi,

    ich glaube dir will keiner mehr wirklich helfen weil dein prob eine einfache grundlage ist und mit etwas buch lesen behoben wäre...

    um es wirklich gleichzeitig zu machen solltest du dich mit threading beschäftigen wird aber sicher etwas kompliziert für dich ...
    ansonsten kannst du auch die richtige bezeichnung nehmen und sagen du willst es in einem click.event ablaufen lassen

    die grundlagen hast du ja schon bekommen ... also wie du das datum in deine tabelle schreibst ...
    um deine frage zu beantworten:
    du musst doch einfach nur einen neuen commandtext zuweisen und ausführen wo ist das problem ?
    Grüße Manu

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

    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. Dim cmd2 As New OleDbCommand
    6. 'Baut die Verbindung auf
    7. con.ConnectionString =
    8. "blabla"
    9. cmd.Connection = con
    10. 'SQL Befehl zur Abfrage von allem aus "Tabelle1"
    11. cmd.CommandText = "select * from Tabelle1"
    12. Try
    13. 'Verbindung öffnen
    14. con.Open()
    15. reader = cmd.ExecuteReader()
    16. ListBox1.Items.Clear()
    17. Do While reader.Read()
    18. ListBox1.Items.Add(
    19. reader("Spalte1") & " ---" & Now)
    20. cmd2.CommandText = " INSERT INTO Tabelle1 (spalte2) VALUES ('" & Now() & "')"
    21. Loop
    22. reader.Close()
    23. con.Close()
    24. Catch ex As Exception
    25. End Try


    Wenn ich aber jetzt per SQL über VB die Spalte2 abfrage, dann steht das Datum dort nicht drin. Es soll ja drinstehen, sobald ich auf Button1 klicke. Und jedes mal wenn ich erneut auf Button1 drücke, soll das Datum aktualisiert werden. Ich verzweifel hier gerade.
    ich glaub kaum das du das thema damit erledigt hast

    und zu deiner frage:
    genauso wie du es schon vorher gemacht hast
    Grüße Manu

    Was Gott dem Menschen erspart hat, kann der Computer.
    Billy ©, (*1932), Schweizer Aphoristiker
    Quelle: www.Aphorismen.de
    Ich habe es jetzt so gemacht wie unten, allerdings passiert nichts. In Spalte2 wird kein Datum ausgegeben. Habe mir einen Button gemacht der mit Spalte2 in einer Listbox anzeigt und dort sind alle Spalten leer, bzw es steht teilweise was anderes drin also Daten, die schon vorher drin standen (tut das was zur Sache, dass andere Daten dort eingetragen sind? Werden die nicht einfach überschrieben?)

    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. Dim cmd2 As New OleDbCommand
    6. 'Baut die Verbindung auf
    7. con.ConnectionString =
    8. "assasd"
    9. cmd.Connection = con
    10. 'SQL Befehl zur Abfrage von allem aus "Tabelle1"
    11. cmd.CommandText = "select * from tabelle1"
    12. Try
    13. 'Verbindung öffnen
    14. con.Open()
    15. reader = cmd.ExecuteReader()
    16. ListBox1.Items.Clear()
    17. Do While reader.Read()
    18. ListBox1.Items.Add(
    19. reader("spalte1") & " ---" & Now)
    20. Loop
    21. reader.Close()
    22. con.Close()
    23. Catch ex As Exception
    24. End Try
    25. Try
    26. con.Open()
    27. cmd2.ExecuteNonQuery()
    28. cmd2.CommandText = " INSERT INTO Tabelle1 (spalte2) VALUES ('" & Now() & "')"
    29. con.close
    30. Catch ex As Exception
    31. End Try

    kevinb86 schrieb:

    Ich brauch doch nur noch diese eine Antwort

    Da dir die Antwort bereits mehrfach gegeben wurde, drängt sich der Eindruck auf, dass dein bisheriger Code ein C&P Schnipsel ist, dass du irgendwo gefunden hast, aber bislang nicht verstanden hast. Und ganz offensichtlich scheinst du dich auch nicht wirklich zu bemühen, das ganze zu verstehen, da du nur aus irgendeinem Grund GENAU diesen Code brauchst, aber ansonsten kein Interesse am programmieren hast.
    Demzufolge erklärt sich auch die Weigerung der meisten user, dir jetzt "endlich" den fertigen Code zu geben, den zu dann einfach nur noch einsetzen musst.
    Nein, das stimmt nicht. Ich habe den Code mir mithilfe von Webseiten "erklären" lassen und habe ihn größtenteils auch verstanden! Natürlich habe ich Interesse am Programmieren! Allerdings komme ich seit Tagen nicht weiter. Ich lese im Internet die Grundlagen, schaue mir Video Trainings an und trotzdem verstehe ich es nicht. Tut mir Leid, dass ich noch nicht die Erfahrung mitbringe.
    ach pico auf dein kommentar hab ich nur noch gewartet ^^
    aber recht haste mal wieder ...

    @kevin: lesen bildet

    und viel spaß noch
    Grüße Manu

    Was Gott dem Menschen erspart hat, kann der Computer.
    Billy ©, (*1932), Schweizer Aphoristiker
    Quelle: www.Aphorismen.de
    Ach ihr seid diejenigen die alles von Geburt an beherrschen? Naja, finds schade, dass einem hier nicht genau geholfen wird, vielleicht weil ihr dazu zu egoistisch oder zu schade seid, weil ihr alles BESSER könnt! KLAR habt ihr mir schon geholfen, aber was ist daran das Problem mir mal genau etwas zu sagen, anstatt immer irgendwelche Bruchteile zu nennen mit denen ich nichts anzufangen weiß?
    darum geht es nicht es gab auch eine zeit da konnte ich nur den befehlscode von meinem c64 eingeben um ein spiel zu starten
    nur wie ich schon sagte
    lesen bildet

    wenn du deinen code wirklich wenigstens im ansatz verstanden hättest und ich dir schon sage du musst dein command ausführen so wie du es oben schonmal gemacht hast und dann so eine grütze raus kommt hast du deine snippets wohl dohc nicht verstanden

    ich gebe dir noch einen entscheidenden tip
    der commandtext muss ausgeführt werden
    du kannst nicht ausführen was erst später erstellt wird
    Grüße Manu

    Was Gott dem Menschen erspart hat, kann der Computer.
    Billy ©, (*1932), Schweizer Aphoristiker
    Quelle: www.Aphorismen.de
    Damit meinst du wohl, dass ich den Execute Befehl unter den Command setzen muss. Habe ich getan, es geht trotzdem nicht. Muss ich es mit Executereader oder Executenonquery machen? Beides funktioniert nicht..

    VB.NET-Quellcode

    1. Try
    2. con.Open()
    3. cmd2.CommandText = " INSERT INTO Tabelle1 (spalte2) VALUES ('" & Now() & "')"
    4. cmd2.ExecuteReader()
    5. con.Close()
    6. Catch ex As Exception
    7. End Try
    wenn "es geht nicht" heißt er schreibt immer noch nichts in die tabelle

    dann schau mal ob es vielleicht besser ist einen primärschlüssel in der WHERE klausel anzugeben
    Grüße Manu

    Was Gott dem Menschen erspart hat, kann der Computer.
    Billy ©, (*1932), Schweizer Aphoristiker
    Quelle: www.Aphorismen.de
    Nein eben nich, ich kann Debuggen ganz normal. Hier mal ein Screenshot: Wenn ich auf START drücke, dann wird mir der Inhalt von Spalte 1 in der Listbox mit dem aktuellen Datum hinter jedem Eintrag angezeigt. Nun möchte ich, dass wenn ich auf SPALTE2 drücke, dass dort das Datum in der Listbox erscheint, was beim Drücken auf START hinter jede Zeile von Spalte1 geschrieben wurde. Allerdings passiert da nichts, der zeigt mir leere Zeilen an bzw. alte Daten die in Spalte2 stehen und nicht das Datum.

    stehen die richtigen daten denn in der tabelle ?
    oder stehen da auch die alten daten

    ich bin nämlich der meinung das du nicht wirklich das aktuelle datum in deine spalte schreibst

    und da würde dann sicher auch die WHERE Klausel in deiner sql in der du die zeile angibst rein passen
    Grüße Manu

    Was Gott dem Menschen erspart hat, kann der Computer.
    Billy ©, (*1932), Schweizer Aphoristiker
    Quelle: www.Aphorismen.de
    Also ich erklär das nochmal.

    Ich habe eine Tabelle in einer Datenbank. Diese Tabelle besitzt ca 30-40 Spalten mit Daten.
    Die erste Spalte soll ausgelesen werden und wiedergegeben werden mit aktuellen Datum. Das klappt soweit ja. Während ich den Inhalt von Spalte1 wiedergegeben kriege, soll das aktuelle Datum auch in Spalte2 eingetragen werden, sozusagen dass man sieht wann man zuletzt auf diesen START knopf gedrückt hat. In Spalte 2 stehen Themaunabhängige Zahlen drin, die aber ruhig überschrieben werden können.