[Hilfe] VB und bestimmte Sqlabfrage!?

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • [Hilfe] VB und bestimmte Sqlabfrage!?

      Hallo liebe Communix.

      Visual Company arbeitet gerade mit hoch Turen an einem neuen Chat, der auf einen Rootserver gehostet wird.

      Nun sind wir an einer Gränze gestoßen, wo wir eure Hilfe benötigen.

      Und zwar wollen wir in den Code eine Sqlabfrage reinbauen, die abfragt, ob in der Datenbank in der Spalte "banned" eine 1 ist.

      Wenn in der Spalte eine 1 vorhanden ist, soll eine msgbox mit dem Text "Dein Account wurde gebannt!" kommen.

      Der Code der beim Login benutzt wird ist dieser:


      Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
      Dim conn As MySqlConnection
      conn = New MySqlConnection
      conn.ConnectionString = "server=localhost;" & "user id=root;" & "password=1234;" & "database=chat;" 'Hier gibt ihr die Server IP ein


      Try
      conn.Open() ' Verbindung öffnen
      Catch myerror As MySqlException
      MsgBox("Keine Verbindung zur Datenbank : " & myerror.Message.ToString) ' Falls Fehler : Fehler anzeigen
      End Try

      'Dim benutzer As String = MD5StringHash(TextBox1.Text)
      'Dim passwort As String = MD5StringHash(TextBox2.Text)

      Dim myAdapter As New MySqlDataAdapter
      Dim SQLAbfrage As String = "SELECT * FROM benutzer WHERE Benutzername='" + Replace(TextBox2.Text, " ", "") + "' AND Passwort='" & Replace(TextBox1.Text, " ", "") & "'" ' Das ist die Abfrage welche Prüft ob der Account existiert.Die txt_benutzer ist die Textbox in der der Benutzername eingeben wird und txt_passwort bekommt das Passwort
      Dim myCommand As New MySqlCommand

      myCommand.Connection = conn
      myCommand.CommandText = SQLAbfrage


      myAdapter.SelectCommand = myCommand
      Dim myData As MySqlDataReader
      myData = myCommand.ExecuteReader() ' Hier startet man die SQL Abfrage
      If myData.HasRows Then ' Wenn die Abfrage Einträge enthält / also der Benutzer und das Passwort stimmen überein
      MsgBox("Einloggen war erfolgreich!")
      Form2.Show()
      Me.Hide()
      conn.Close()
      conn.Open()
      Else 'Sonst wird angezeigt das die Daten falsch sind
      MsgBox("Fehler Code 2 : Du hast da wohl etwas Falsch gemacht.")
      End If


      End Sub


      Ich hoffe das hier jemand helfen kann.

      mfG.
      Sacred

    • Werbung zur Unterstützung des Forums ( Bitte AddBlocker deaktivieren )

    • [FONT="Comic Sans MS"][COLOR="DeepSkyBlue"][SIZE="2"]Wo liegt genau dein Problem?
      Einfach nach dem Einloggen noch aus dem SQL Result abfragen, ob der Acc banned is.
      Dann wenn banned=1 eben ne MSGBox und danach nix mehr.
      Ansonsten eben weitermachen.
      Das ganze nochmals in Kurzform:
      1.Accountdatencheck
      Wenn 1. = True:
      2. IsBanned-Check
      Wenn 2. True:
      MSGBox ausgeben mit Nachricht
      Ansonsten eben einloggen[/SIZE][/COLOR][/FONT]
    • internetfreak;167057 schrieb:

      Wo liegt genau dein Problem?
      Einfach nach dem Einloggen noch aus dem SQL Result abfragen, ob der Acc banned is.
      Dann wenn banned=1 eben ne MSGBox und danach nix mehr.
      Ansonsten eben weitermachen.
      Das ganze nochmals in Kurzform:
      1.Accountdatencheck
      Wenn 1. = True:
      2. IsBanned-Check
      Wenn 2. True:
      MSGBox ausgeben mit Nachricht
      Ansonsten eben einloggen

      Mein Problem liegt darin, dass ich nicht weiß wie ich das aus der Db abfragen lasse x.x
    • [FONT="Lucida Console"][COLOR="Cyan"][SIZE="2"]MySQLDataReader wird dir helfen.
      einfach deinen MySQL Command drauf ausführen.
      Sry weiß jezz nicht wie es in VB geht.

      Also erst MySqlCommand machen mit ner SELECT abfrage.
      Dann MySqlDataReader deklarieren und darauf dann cmd.ExecuteReader() machen.
      Hoffe es konnte dir etwas helfen :X

      Achja und um mit dem was auszulesen:
      While Reader.Read()
      Dim str As String
      str = Reader.GetValue(0).ToString()
      EndWhile
      Die 0 ist dann der Spalten name(beginnend bei 0).
      [/SIZE][/COLOR][/FONT]
    • g0dskeks;167066 schrieb:

      MySQLDataReader wird dir helfen.
      einfach deinen MySQL Command drauf ausführen.
      Sry weiß jezz nicht wie es in VB geht.

      Also erst MySqlCommand machen mit ner SELECT abfrage.
      Dann MySqlDataReader deklarieren und darauf dann cmd.ExecuteReader() machen.
      Hoffe es konnte dir etwas helfen :X

      Achja und um mit dem was auszulesen:
      While Reader.Read()
      Dim str As String
      str = Reader.GetValue(0).ToString()
      EndWhile
      Die 0 ist dann der Spalten name(beginnend bei 0).

      ... Funktioniert nicht!
      Er soll ja nur gucken ob in der Spalte eine 1 ist, wenn ja dann ne msgbox aufrufen, mehr nicht!
    • [FONT="Lucida Console"][COLOR="Cyan"][SIZE="2"]Hier mal ein versuchtes Beispiel mit dem Reader:

      PHP-Quellcode

      1. Dim strCmd As String
      2. strCmd = "SELECT banned FROM bannedTBL"
      3. Dim cmd As MySqlCommand
      4. MySqlCommand.CommandText = strCmd
      5. MySqlCommand.Connection = myCon
      6. Dim Reader As MySqlDataReader
      7. Reader = cmd.ExecuteReader()
      8. While Reader.Read()
      9. Dim str As String
      10. str = Reader.GetValue(0).ToString()
      11. If str = "1" Then
      12. MsgBox.Show("Gebannt")
      13. Else
      14. MsgBox.Show("Nicht gebannt")
      15. EndIf
      16. EndWhile
      Alles anzeigen
      Keine Ahnung ob da Fehler sind sollte aber vom Grund auf etc. klappen. Musst evtl. nur bisschen anpassen etc. z.B. bei banned durch deinen Spaltennamen ersetzen und bannedTBL durch deinen Tabellen Namen.

      Schön wäre auch wenn du uns sagst, über was du zu MySql connectest.(Also die .dll oder was du dazu runtergeladen hast).
      Ansonsten kannst du dir auch viele Tutorials auf google Ansehen zu MySql Connections. Gibt genug davon.
      [/SIZE][/COLOR][/FONT]
    • g0dskeks;167113 schrieb:

      Hier mal ein versuchtes Beispiel mit dem Reader:

      PHP-Quellcode

      1. Dim strCmd As String
      2. strCmd = "SELECT banned FROM bannedTBL"
      3. Dim cmd As MySqlCommand
      4. MySqlCommand.CommandText = strCmd
      5. MySqlCommand.Connection = myCon
      6. Dim Reader As MySqlDataReader
      7. Reader = cmd.ExecuteReader()
      8. While Reader.Read()
      9. Dim str As String
      10. str = Reader.GetValue(0).ToString()
      11. If str = "1" Then
      12. MsgBox.Show("Gebannt")
      13. Else
      14. MsgBox.Show("Nicht gebannt")
      15. EndIf
      16. EndWhile
      Alles anzeigen
      Keine Ahnung ob da Fehler sind sollte aber vom Grund auf etc. klappen. Musst evtl. nur bisschen anpassen etc. z.B. bei banned durch deinen Spaltennamen ersetzen und bannedTBL durch deinen Tabellen Namen.

      Schön wäre auch wenn du uns sagst, über was du zu MySql connectest.(Also die .dll oder was du dazu runtergeladen hast).
      Ansonsten kannst du dir auch viele Tutorials auf google Ansehen zu MySql Connections. Gibt genug davon.

      Auch keinen Erfolg, naja, dann lasse ich diese Funktion aus, und werde sie später einfügen :)