Zum Inhalt springen

AND or verknüpfung


screamboy14

Empfohlene Beiträge

hallo erstmal und zwar ich habe ein programm geschrieben mit dem ich auf eine datenbank zugreifen kann im laufe meiner OPTIMIERUNGSVERSUCHE hab ich es geschafft den zugrif auf entweder name oder vorname oder vorname und nachname in sql zu programieren das problem ist allerdings das es scheinbar nur nach name oder vorname geht, da wenn ich vorname eingebe und nachname was falsches er den datensatz dennoch findet und anderstherum genauso

also bsp name = meier vorname = otto

wenn ich eingebe name =meier1 vorname =otto

dann musste normalerweise eine fehlermeldung kommen das der datensatz nicht vorhanden ist aber er zeigt den datensatz normal an ich hab auch schon verscuht mit klammern zu distanzieren aber es hat keine auswirkung

binn für jede hilöfe dankbar

String data[][] = myBox.queryAccess("SELECT * FROM KlientTab WHERE Name='" + jTextFieldName.getText() + "'"

+ "OR (Vorname = '" + jTextFieldVorname.getText() + "')"

+ "OR (name = '" + jTextFieldName.getText() + "'"

+ "AND Vorname = '" + jTextFieldVorname.getText() + "')");

o0 och hab das eben so reinkopiert ich hoffe die ubersichtlichkeit sinkt nicht =(

mit den klammern innerhalb des befehls hab ich versuch die befehle zu differenzieren

ps ich hab auchs chon versucht etwas auf folgender seite herauszufinden leider ohne erfolg

SQL Aggregatfunktionen

Link zu diesem Kommentar
Auf anderen Seiten teilen

das problem ist allerdings das es scheinbar nur nach name oder vorname geht, da wenn ich vorname eingebe und nachname was falsches er den datensatz dennoch findet und anderstherum genauso

Bitte schreibe Deine Beiträge in korrekter Groß- und Kleinschreibung!

Natürlich ist das, so wie es dort steht korrekt, denn "and" bindet stärker als "or". Deine Condition wird "true", wenn entweder der Vorname oder (Vorname und Nachname) gefunden wird.

Bitte informiere Dich über "exklusives-oder", "oder" und "und"

Link zu diesem Kommentar
Auf anderen Seiten teilen

da ich immernoch nicht wies wie ich zitat mache sry sag ich einfach mal den namen

flashpixx

es funktioniert auch wenn ich NUR den nachnamen eingebe das ist aber schon alles

naja und google hat mir acuh nicht wirklich weiter geholfen auser das ich die ausdrücke vor und nach xor in klammern setzen muss war zumindest im bsp aber das hat auch nix geändert

Link zu diesem Kommentar
Auf anderen Seiten teilen

aber mein problem besteht immernoch

Aha schön. Wie wäre es, wenn Du über Dein Problem nachdenkst und mit Hilfe der hier gegebenen Antworten eine Lösung entwickelst?

Die Antworten sind durchaus ausreichend um eine Lösung zu finden. Ich denke mal Du willst nach "Nachname oder Vorname oder beides" suchen, das wäre das "or", wenn es nur um genau eins von beiden geht, dann "xor"

Und ich bitte Dich noch einmal auf korrekte Orthographie zu achten!

Link zu diesem Kommentar
Auf anderen Seiten teilen

String data[][] = myBox.queryAccess("SELECT * FROM KlientTab WHERE Name='" + jTextFieldName.getText() + "'"

+ "OR (Vorname = '" + jTextFieldVorname.getText() + "')"

+ "OR (name = '" + jTextFieldName.getText() + "'"

+ "AND Vorname = '" + jTextFieldVorname.getText() + "')");

Bedeutet doch:

Wähle von Klienttab welche den namen oder den vornamen oder den namen und den vornamen haben

Irgendwie bisl merkwürdig, wenn ich dich richtig verstehe sollen nur einträge gelistet werden wo vor und nachname stimmen?

Link zu diesem Kommentar
Auf anderen Seiten teilen

genau das bedeutet es ^^ ich hatte zuerst radiobutten dafür also name , vorname, beides und dann hab ich die weg gemacht und wollte das alles in einem sql befehl schreiben ABEr wenn ich name richig schriebe und den nachnamen falsch musste normal eine fehlermeldung kommen das ist aber nicht der fall der vorname wird dann einfach richtig uberschrieben und das ist mein problem ^^

es soll beides sein (entweder vor oder nachname) oder (vor und nachname) ^^

Link zu diesem Kommentar
Auf anderen Seiten teilen

Steh ich jetzt auf der Leitung oder wird deine Anforderung nicht durch folgendes SQL erschlagen?

Nein, nehmen wir mal an, wir haben jemanden, der "Otto Meier" heißt, dann würde bei einem "or" auch jeder "Otto ??" und jeder "??? Meier" heraus kommen. So wie ich den OP verstehe, soll wenn beide Namensteile gesetzt sind nach "Otto Meier" suchen und wenn nur ein Namensteil vorhanden ist, eben entweder nach Nachname == Meier bzw Vorname==Otto

@OP: in dem man jede Möglichkeit genau Prüfung und diese entsprechend verknüpft

Link zu diesem Kommentar
Auf anderen Seiten teilen

klingt interessantt mit dem == hab es auch ausprobiert aber dann verlangt er einen operater daraufhin hab ich klammern gesetzt was aber auch nicht hilft dann hab ich versucht das == auserhalb des sql zu schreiben weil es glaube ich ein java befehl ist wo dann aber der querry access nen problem bekommt zurzeit hab ich folgenden code

String data[][] = myBox.queryAccess("SELECT * FROM KlientTab WHERE (Name=='" + jTextFieldName.getText() + "')"

+ "xOR (Vorname == '" + jTextFieldVorname.getText() + "')"

+ "xOR (Name = '" + jTextFieldName.getText() + "')"

+ "AND (Vorname = '" + jTextFieldVorname.getText() + "')");

Link zu diesem Kommentar
Auf anderen Seiten teilen

also ich hab heute mal meine lehrer gefragt und der wusste nichtmal das es "==" als sql befehl gibt und bei google konnt ich jetz auch nix uber == syntax für dbms herausfinden

ich hab den code jetz tw etwas umgeschrieben (wobei er jetz garnix mehr anzeigt ) aber naja das größere problem ist jetz erstmal die richtige syntax für ==

DAS IST MEIN DERZEITIGER SQL VERSUCH

String data[][] = myBox.queryAccess("SELECT * FROM KlientTab WHERE (Name = '" + jTextFieldName.getText() + "'"

+ "AND '" + jTextFieldVorname + "' = Null)"

+ "xOR (Vorname = '" + jTextFieldVorname.getText() + "'"

+ "AND '" + jTextFieldName + "' = Null)"

+ "xOR (Name = '" + jTextFieldName.getText() + "'"

+ "AND Vorname = '" + jTextFieldVorname.getText() + "')");

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...