2 abfragen in einer

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von INOPIAE.

    2 abfragen in einer

    Hallöchen. ist es möglich 2 abfragen aus einer abfrage raus zu bekommen?
    Ich möchte das in den untenstehenden Code einbauen.
    An Welcher stelle müsste ich da veränderung vornehmen?
    Ich steh da gerade etwas auf der leitung^^


    VB.NET-Quellcode

    1. Dim conn As MySqlConnection
    2. conn = New MySqlConnection
    3. conn.ConnectionString = "server=xxx;" & "user id=xxx;" & "password=xxx;" & "database=xxx;"
    4. Try
    5. conn.Open() ' Verbindung öffnen
    6. Catch myerror As MySqlException
    7. MsgBox("Keine Verbindung zur Datenbank : " & myerror.Message.ToString) ' Falls Fehler : Fehler anzeigen
    8. End Try
    9. Dim myAdapter As New MySqlDataAdapter
    10. Dim SQLAbfrage As String = "SELECT gesperrt FROM benutzer WHERE benutzername='" & Form1.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
    11. Dim myCommand As New MySqlCommand
    12. myCommand.Connection = conn
    13. myCommand.CommandText = SQLAbfrage
    14. myAdapter.SelectCommand = myCommand
    15. Dim myData As MySqlDataReader
    16. myData = myCommand.ExecuteReader()
    17. myData.Read()
    18. TextBox2.Text = myData.GetString("gesperrt")
    19. If TextBox2.Text = "0" Then
    20. Else
    21. MsgBox("blub", MsgBoxStyle.Critical, AcceptButton)
    22. Form1.Visible = True
    23. Me.Close()
    24. End If
    ahoi,

    schau dir doch mal den UNION befehl an vielleicht bringt dich das weiter
    ansonnsten beschreib bitte mal was du noch mit einbringen willst ?
    Grüße Manu

    Was Gott dem Menschen erspart hat, kann der Computer.
    Billy ©, (*1932), Schweizer Aphoristiker
    Quelle: www.Aphorismen.de
    ich möchte zb wenn er nicht gesperrt ist abfragen wann er zuletzt online war.

    Normal müsste ich ja nur eine neue abfrage starten nur diese müsste in einem anderen String landen.
    und da weiss ich gerade nicht wie ich das einbauen muss :P
    natürlich gibt es join in vb aber das ist hier ziemlich irrellevant ^^

    außerdem verbindest du mit einer JOIN abfrage (in SQL ;) ) 2 tabellen
    schau dir mal an was du zum UNION Befehl findest
    damit kannst du mehrere SQL abfragen in einer zusammenbasteln
    Grüße Manu

    Was Gott dem Menschen erspart hat, kann der Computer.
    Billy ©, (*1932), Schweizer Aphoristiker
    Quelle: www.Aphorismen.de
    Ich empfehle dir "outer join"! Bei nur "join", was gleichbedeutend mit "inner join" ist, hättest du ein Problem wenn der User noch nie online war und er in der Online-tabelle noch keinen Eintrag hat, da die Join-Abfrage dann nichts verbinden kann und ein komplett leeres Ergebnis liefert, während "outer join" dann für "online" den Wert "NULL" angibt.
    Gruß, Agent Smith 8-)

    activeFlags = (lazy OR weary)

    Lemgo-Verschwörung | Mathematics | VB-Paradise in blau
    Ich sehe hier nur eine Abfrage ohne JOIN oder UNION

    VB.NET-Quellcode

    1. Dim SQLAbfrage As String = "SELECT* FROM benutzer WHERE benutzername =" & ID

    Da hast Du alle Daten drin die Du benötigst.
    Kein Ergebnis - noch nie angemeldet
    Den Rest kannst Du dann aus den ensprechenden Spalten auslesen.
    NB. Es ist doch schön, wenn man lesbare Namen vergibt. Siehe auch [VB.NET] Beispiele für guten und schlechten Code (Stil).