Datenbank nach mehreren Kriterien durchsuchen

  • VB.NET

Es gibt 16 Antworten in diesem Thema. Der letzte Beitrag () ist von MemoAnMichSelbst.

    Datenbank nach mehreren Kriterien durchsuchen

    Hallo Coder,

    Ich hab eine Frage: "Wie kann ich meine Datenbank (40 Spalten) nach mehreren Kriterien durchsuchen um somit falsche Ergebnise auszuschließen" ?

    Schöne Grüße aus Tirol
    Mathis
    ich will meine ganze datenbank durchsuchen.
    Ich hab 3 textboxen und wenn ich alle 3 füll dann sollen nur ergebnisse kommen bei denen auch alle 3 vorhanden sind bei 2 sollen natürlich alle kommen bei den beide da sind.

    z.b alter geschlecht
    54 weiblich dann sollten alle weiblichen personen mit 54 jahren kommen.
    Naja in SQL Geschrieben

    SQL-Abfrage

    1. SELECT * FROM Tabellenname WHERE Alter=54 AND Geschlecht='w';

    Du kannst dann ja nach belieben mit Parametern arbeiten und die 54 und das w anhand der Textbox setzen.
    Wobei für weiblich/männlich wär nen logisches Ja/Nein Feld vielleicht sinnvoller ;)
    Kennst du dich mit SQL so garnicht aus?

    Du kannst in SQL mittels eines "AND" mehrere Bedingungen hintereinander schreiben.
    ABER beachte, dass wenn in einer Bedingung nix steht... kommt auch nix...

    Um zu schauen wie das alles mit dem SQL funktioniert ist Access doch ganz schick...
    Du erstellst dir ne Abfrage und klickerst da ne Abfrage zusammen... Wenn das Ergebnis stimmt, gehst du auf die SQL Ansicht und siehst den SQL Befehl...
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    Doch eig. schon aber ich denk mir dass glaub ich viel zu kompliziert...
    was ist aber wenn ich 3 spalten hab

    Vorname nachname geb (geburtstag)

    aber nur 2 textboxen ?

    hab schonmal was probiert ( spalten heißen anders aber dient ja nur als bsp.)

    VB.NET-Quellcode

    1. Dim sqlquery As String = "SELECT * FROM Kunden WHERE Vorname = '" & TextBox1.Text & "' OR Nachname = '" & TextBox1.Text & "' AND (Vorname = '" & TextBox2.Text & "' OR Nachname = '" & TextBox1.Text & "')"


    aber leider wenn ich jetzt 2 einträge hab sagen wir

    hans peter 12081981
    Hans flunk 16071990


    und wenn ich dann in die textbox1 hans und in die textbox2 flunk eingebe, dann selectiert die db mir beide :(


    danke für deine hilfe
    Logische UND / ODER Verküpfungen ;)

    Mal davon ab, dass du NIEMALS direkt ne Textbox in nen SQL Command setzen solltest...
    Denn ein findig-böser Anwender gibt in die Textbox nen SQL Command ein und der zerschießt dir alles ;)

    Deine Bedingung lautet ja:

    SQL-Abfrage

    1. WHERE Vorname = 'Hans' OR Nachname = 'Hans' AND (Vorname = 'Flunk' OR Nachname = 'Flunk')

    //Edit: Hier muss entweder der Vorname Hans sein, ODER (Der Nachname Hans und gleichzeitig(Vorname = Flunk oder Nachname = Flunk)
    Mach mal nen

    SQL-Abfrage

    1. WHERE (Vorname = 'Hans' OR Nachname = 'Hans') AND (Vorname = 'Flunk' OR Nachname = 'Flunk')

    draus ;)
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    Danke, aber ich glaub ich bin verrückt... dein query geht, aber solbald ich das auf meine form anwende kommt das:

    Für mindestens einen erforderlichen Parameter wurde kein Wert angegeben.


    VB.NET-Quellcode

    1. Dim sqlquery As String = "SELECT * FROM Kunden WHERE (Vorname = '" & TextBox1.Text & "' OR Nachname = '" & TextBox1.Text & "') AND (Vorname = '" & TextBox2.Text & "' OR Nachaname = '" & TextBox2.Text & "')"
    Lass dir doch mal den fertig generierten String als Messagebox ausgeben ^^
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    Genau deshalb solltest es mal ausgeben ^^

    Da ich den Code drum rum nicht kenne, würde ich mal anhand der Fehlermeldung vermuten, dass ihm irgendwas fehlt :P
    Ich seh aber bis auf die Abfrage, die jetzt erstmal okay erscheint, nichts von dem was du da so tust ;)

    Ich würde aber nicht denken dass es an dem Befehl liegt oO Wenn da nicht totaler Humbug in einer der Textboxen steht ^^
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    so nocheinmal ich ^^

    ich hab ne frage und zwar gibts nen syntaxchecker für mein query ?
    ich hab nämlich in warheit ne db mit ca. 60 spalten und dass ganze dann 3 mal für 3 textboxen sind 180 abfragen und ich hab kein überblick mehr ...

    mf g
    Ich weiß nicht was ein Synthax Checker für dich ist oO

    Ich meine jeder zweite Editor unterstützt ein SQL Synthax-Highlighting...

    Access (zumindest 2010) ist was SQL Abfragen angeht auch ganz angenehm. Und viele Clients für SQL Abfragen vervollständigen sogar recht angenehm die Befehle automatisch ähnlich Visual Studio ^^

    Ich benutze zB. gerne den FlameRobinfür fixe SQL Abfragen.

    Ansonsten verstehe ich deinen Datenbankaufbau noch ent.
    3 Tabellen a 60 Spalten machen 180 Spalten joa oO
    Aber wieso 180 Abfragen?
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D