mysql befehle im hintergrund

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von erbse.

    mysql befehle im hintergrund

    hy liebe com,
    ich habe schon gesucht aber irgendwie nichts passendes gefunden

    also ich habe mehrere mysql befehle die durch einen timer alle 5 sekunden ausgeführt werden,
    nur wenn sie ausgeführt werden hängt sich die form so lange auf bis alle befehle ausgeführt worden,
    kann man die nicht auch im hintergrund ausführen?
    also das alle mysql befehle immer alle 5 sekunden im hintergrund ausgeführt werden ohne das der benutzer davon etwas merkt?

    lg erbse
    jenach Befehl sollte das auch mit MySQL direkt gehen...
    mit z.B. Insert Delayed...
    bei Update bin ich mir nicht sicher, aber wahrscheinlich funktioniert sogar dort LOW_PRIORITY...

    außerdem denke ich dass ExecuteNonQuery(oder so ähnlich), das ganze auch ausführt, ohne zu warten...
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    hier is der code der immer "aktualisiert" ausgeführt werden soll:

    VB.NET-Quellcode

    1. col.Clear() ' Col Leeren
    2. col.Add("query-level", "SELECT * FROM user WHERE Benutzername='" + Replace(My.Settings.User, " ", "") & "'")
    3. Label2.Text = request.Create("http://localhost/spiel/query-level.php", col).Replace(vbLf, vbNewLine)
    4. col.Clear() 'col Leeren
    5. col.Clear() ' Col Leeren
    6. col.Add("query-gold", "SELECT * FROM user WHERE Benutzername='" + Replace(My.Settings.User, " ", "") & "'")
    7. Label8.Text = request.Create("http://localhost/spiel/query-gold.php", col).Replace(vbLf, vbNewLine)
    8. col.Clear() 'col Leeren
    9. col.Clear() ' Col Leeren
    10. col.Add("query-ep", "SELECT * FROM user WHERE Benutzername='" + Replace(My.Settings.User, " ", "") & "'")
    11. Label4.Text = request.Create("http://localhost/spiel/query-ep.php", col).Replace(vbLf, vbNewLine)
    12. col.Clear() 'col Leeren
    13. col.Clear() ' Col Leeren
    14. col.Add("query-epmax", "SELECT * FROM EP WHERE level='" + Replace(Label2.Text, " ", "") & "'")
    15. Label6.Text = request.Create("http://localhost/spiel/query-epmax.php", col).Replace(vbLf, vbNewLine)
    16. col.Clear() 'col Leeren
    17. col.Clear() ' Col Leeren
    18. col.Add("query-nextlevel", "SELECT * FROM EP WHERE level='" + Replace(Label2.Text, " ", "") & "'")
    19. Label10.Text = request.Create("http://localhost/spiel/query-nextlevel.php", col).Replace(vbLf, vbNewLine)
    20. col.Clear() 'col Leeren


    wie bring ich das so das das alle sagen wir 5 sec ausgeführt wird? ich denke schon das es mit einem timer zusammen hängt nur "friert" die form so lange ein wenn es die befehle ausführt. deshalb soll das alles im background passieren.
    pls um hilfe ;)
    lg
    Background Worker

    Die BackgroundWorker-Klasse ermöglicht Ihnen das Ausführen eines Vorgangs auf einem separaten, dedizierten Thread. Bei zeitaufwändigen Vorgängen wie Downloads und Datenbanktransaktionen ist es möglich, dass die Benutzeroberfläche während der Ausführung dieser Vorgänge nicht mehr zu reagieren scheint. Wenn Sie eine reaktionsfähige Benutzeroberfläche wünschen und Sie durch die Ausführung solcher Vorgänge mit langen Verzögerungen konfrontiert werden, bietet die BackgroundWorker-Klasse eine einfache Lösung.

    Wenn das dafür ungeeignet sein soll, korrigiert mich und ich gebe offiziell bekannt das Vb zu hoch für mich ist :D
    '
    ja den hat ich schon mal benutzt nur dann kommt der fehler
    das die label2 bis 10 für einen anderen thread sind als ... den fehler muss ich noch mal raussuchen
    irgendwas mit mutlithreading, damit kenn ich mich noch nicht so aus^^


    EDIT: hier der fehler:

    Ungültiger threadübergreifender Vorgang: Der Zugriff auf das Steuerelement Label2 erfolgte von einem anderen Thread als dem Thread, für den es erstellt wurde.

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

    ich hab mit delegate un invoke schon mal was angeschaut aber ich kapiers irgendwie nich -.-

    kann mir jemand mal ein beispiel zeigen wo dieser code hier

    VB.NET-Quellcode

    1. col.Clear() ' Col Leeren
    2. col.Add("query-gold", "SELECT * FROM user WHERE Benutzername='" + Replace(My.Settings.User, " ", "") & "'")
    3. Label8.Text = request.Create("http://localhost/spiel/query-gold.php", col).Replace(vbLf, vbNewLine)
    4. col.Clear() 'col Leeren


    im backgroundworker ausgeführt wird ohne das diese fehlermeldung kommt

    Ungültiger threadübergreifender Vorgang: Der Zugriff auf das Steuerelement Label8 erfolgte von einem anderen Thread als dem Thread, für den es erstellt wurde.

    ich komm da nich weiter mit denn delegates -.-

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