Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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

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"

  • Autor

also bei nur nachname funktioniert das acuh ^^

und wegen dem exklusiv oder deswegen hab ich doch auf der bereits erwänten seite nechgeschaut aber da steht ja nix von exclusiv kennt man ja aus digitaltechnik aber für sql stand da nix drauf aud der etrwähnten seite naja ich gug nochmal

  • Autor

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

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

Muss das nicht so lauten?

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

  • Autor

joa müsste es eigendlich ^^ es ist mir nur nicht aufgefallen, da es keine auswirkung hatte

und mein problem ist damit auchnicht gelöst (leider)

er nimmt immernochnicht beide felder einzeln (er soll aber AUCH beide felder zusammen zur auswahl nehmen )

  • Autor

ichw eißs das man damit dabellen und so erstellen kann aber so auf sql ebene weiß ich da garnix von das mit dabelle is so ziemlich das einzige mehr musste man in der schule bis jetz acuh nicht wissen

aber mein problem besteht immernoch

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!

  • Autor

okay ich bin zu blöd dafür -.-

wofür die einzelnen gatter sind is mir schon klar

aber es lässt sich nicht in einen sql befehl verknüpfen das is mein problem und auf der wiki seite steht nur die infos aus der digitaltechnik aber nicht aus sql aber naja egal dennoch danke für die hilfe

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?

  • Autor

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) ^^

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

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


" where vorname = '"+jTextFieldVorname.getText()+"' or name = '"+jTextFieldName.getText()+"'"
[/code]

Frank

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

  • Autor

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() + "')");

das "==" ist C Syntax, wie das im DBMS lautet, musst Du schon selbst eingeben.

Nur mal noch ein Hinweis: Er darf den (Vornamen nur prüfen, wenn der Nachname leer ist) xor (Nachnamen nur prüfen, wenn Vorname leer) xor (Vorname und Nachname)

  • Autor

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() + "')");

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.