Ein kleines Problem mit MYSQL und meinem VB Programm

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 35 Antworten in diesem Thema. Der letzte Beitrag () ist von Mokki.

    Ich kriege wegen diesen ` andauernd Fehler angezeigt .. ich weiß nicht mehr weiter.

    Hat nicht jemand mal eine Idee oder kann mir mal mit einem Code eine kleinen Denk Anstups geben .. ich kann nicht mehr -.- :D

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

    Mit folgender Methode kannst du ganz einfach deinen String in 2 Teile zerlegen und dann trivial anwenden...
    msdn.microsoft.com/de-de/library/tabh47cf(v=vs.110).aspx

    VB.NET-Quellcode

    1. Dim DeinString = "[[`license_med_mAir`,1],[`license_med_adacAir`,0]]"
    2. Dim result = DeinString.Split({"[[", "],[", "]]"}, StringSplitOptions.RemoveEmptyEntries)
    3. CheckBox1.Text = result(0).Split({","c})(0)
    4. CheckBox1.Checked = CBool(result(0).Split({","c})(1))
    5. CheckBox2.Text = result(1).Split({","c})(0)
    6. CheckBox2.Checked = CBool(result(1).Split({","c})(1))

    Wobei aber dein String ständig das gleiche Schema vorweisen muss...

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „VB1963“ ()

    @Mokki
    Ich Kriege den Fehler nicht Reproduziert

    @VB1963
    Jetzt habe ich eine Dumme frage. Ich hab ja hier die zwei Lizenzen gepostet. Jetzt hab ich aber auf den Zivilisten Seite 39 Solcher Einträge aber ab Nummer 30 sagt er sobald ich die Lizenzen abrufe.

    Ein Ausnahmefehler des Typs "System.IndexOutOfRangeException" ist in ****.exe aufgetreten.

    Zusätzliche Informationen: Der Index war außerhalb des Arraybereichs

    Was war verkehrt? Ich habe den Bereich Dim result = angepasst mit dem Split angepasst war ja ne frickelei jedes einzelne anzugeben.

    ​Hat sich erledigt. Habe eine Zahl im Result übersprungen -.- *facepalm*

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

    Ich fress 'nen Besen.


    Wie kriege ich es hin das eine CheckBoxX.Checked = True in einer Query Update die Als String formatiert ist Funktioniert?
    Das ist mir grade ein Wenig zu hoch.

    VB.NET-Quellcode

    1. ​MysqlConn.Open()
    2. Dim Query As String
    3. Query = "update players set civ_licenses='" & If CheckBox1.Checked = True Then & "'[[`license_civ_driver`,1], '" & Else & "' [[`license_civ_driver`,0], where name='" & Admin.ComboBox5.Text & "'"

    VB.NET-Quellcode

    1. MysqlConn.Open()
    2. Dim Query As String
    3. Dim text as String
    4. If CheckBox1.Checked = True Then
    5. text = "'[[`license_civ_driver`,1], '"
    6. else
    7. text = "' [[`license_civ_driver`,0], '"
    8. End if
    9. Query = "update players set civ_licenses='" & text & " where name='" & Admin.ComboBox5.Text & "'"


    (Nicht getestet)

    Lg Mokki
    ​Smartnotr - ein intelligentes Notizprogramm
    zum Thread

    Da fehlen noch Grundlagen der Grundlagen. ;) Eine If-Abfrage ist eine Kontrollstruktur, die kannst Du nicht einfach benutzen, um einen String zu verketten.
    Du musst also explizit zunächst eine Variable dafür erstellen.
    Ich weiß nicht, ob es einen ?:-Operator in VB.NET gibt, aber der bietet sich da an.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    Trade schrieb:

    ?:-Operator in VB.NET
    Das ist der If-Operator , teilweise auch If-Funktion genannt.
    Nicht zu verwechseln mit dem If-Statement für If-Then-Konstruktionen, das der TE verwendet hat.
    Eine veraltete Variante davon ist das Iif, das aber vor der Verzweigung beide Zweige berechnet.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --

    Es freut mich das sich @Trade hierher verirrt hat.

    Ja ich bin seit Monaten dran etwas zu schaffen. Ich bin nicht der beste das weiß ich sicher aber Man freut sich Umso mehr sobald was Funktioniert.

    @Mokki ich danke dir. Wieso komme ich nicht direkt auf sowas. Die selbe Code-Zeile habe ich schon in meinem Launcher.



    Man muss doch nur einmal gucken *facepalm*


    @Mokki


    Das hat super geklappt. Waren du die Inneren ' Zeichen zu viel. Danke dir!

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

    Und in Kurzform:

    VB.NET-Quellcode

    1. Query = "update players set civ_licenses='[[`license_civ_driver`," & If (CheckBox1.Checked,"1","0") & "] where name='" & Admin.ComboBox5.Text & "'"

    Allerdings halte ich wenig vom direkten Einfluss von Controls auf SQL-Statements.
    Du solltest GUI und Datenverarbeitung trennen.
    Aber das ist ein anderes Thema...

    Und über SQL-Injection wurde ja auch schon diskutiert.
    Aber das scheinst du ja alles nicht so ernst zu nehmen.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Das hat mit ernst nehmen nichts zu tun.

    Wie gesagt ich danke euch dafür das ihr mich drauf hingewiesen habt.

    Ihr seid natürlich was euer Wissen über Programmieren angeht auf einem 1000 mal höheren Stand als ich aber bis ich das realisiert habe ist Weihnachten.
    Zurzeit liegt mein Augenmerk darauf das Programm fertig zu stellen und danach habe ich genügend Zeit mir die Materie anzuschauen. Jeder fängt klein an. :D

    Aber danke danke danke für eure Hilfe!

    Zeeanq schrieb:

    Zurzeit liegt mein Augenmerk darauf das Programm fertig zu stellen und danach habe ich genügend Zeit mir die Materie anzuschauen.

    Das macht keinen Sinn. Avira Entwickler sagen ja auch nicht, jetzt müssen wir erstmal den Virus zur Erkennung hinzufügen ist egal ob wir den entfernen können oder nicht....

    Lg Mokki
    ​Smartnotr - ein intelligentes Notizprogramm
    zum Thread