screamboy14 Geschrieben 28. Juni 2009 Geschrieben 28. Juni 2009 ich hab eine methode in der ich aus einer datenbank daten auslese das problem ist bis jetz hab ich das nur für ein feld (name) ich möchte aber 2 abfrage werte haben (nahme und vorname ) wer kann mir da helfen ich hab es bereits mit einer und verknüpfung versucht aber es geht nicht private void jMenuItemAnzeigenActionPerformed(ActionEvent evt) { Toolbox myBox = new Toolbox(); myBox.setAccessData ("Klient.mdb"); //Anzeigen miz exceptions try { String[][] data=myBox.queryAccess ("Select * from KlientTab where Name= '" + jTextFieldName.getText() +"'"); jTextFieldVorname.setText(data[0][1]); jTextFieldGebDat.setText(data[0][2]); jTextFieldAlter.setText(data[0][3]); jTextFieldAdresse.setText(data[0][4]); jTextFieldHaus.setText(data[0][5]); jTextFieldHandy.setText(data[0][6]); jTextPaneNotitz.setText(data[0][7]); jTextAreaStatus.setText("Datensatz gegunden"); } binn dankbar für jede hilfe ^^ Zitieren
flashpixx Geschrieben 28. Juni 2009 Geschrieben 28. Juni 2009 ich hab eine methode in der ich aus einer datenbank daten auslese das problem ist bis jetz hab ich das nur für ein feld (name) ich möchte aber 2 abfrage werte haben (nahme und vorname ) wer kann mir da helfen Bitte schreibe genau was Du meinst! Wo hast Du die beiden Felder in der Datenbanktabelle oder in Deinem Programm. Aufgrund des Codes würde ich auf das Programm tippen, dann musst Du einfach beide Strings konkatenieren (siehe dazu die Operatoren in Java). Wenn Du es genau anders brauchst, d.h. Du hast ein Feld in Deinem Programm aber zwei in der Datenbank, nimm einen Tokenizer um Deinen String zu trennen Ich rate Dir bei SQL ganz dringend zu PrepareStatements. Phil Zitieren
screamboy14 Geschrieben 28. Juni 2009 Autor Geschrieben 28. Juni 2009 also mit dem code les ich ja aus einer ms access datenbank und auf der gui muss ich bis jetz nur den nachnamen eingeben und dann auf anzeigen klicken damit der gesammte datensatz in der gui angezeigt wird ich möchte aber denn namen und vornamen eingeben und dann auf anzeigen klicken wie soll ich die beiden strings kontaktierrn bzw wo stehen java operationen ?? danke für die hilfe Zitieren
flashpixx Geschrieben 28. Juni 2009 Geschrieben 28. Juni 2009 also mit dem code les ich ja aus einer ms access datenbank [...] Ich rate gerade dabei zu PrepareStatements. Es erleichtert die genaue Typenzuordnung. wie soll ich die beiden strings kontaktierrn bzw wo stehen java operationen ?? Operatoren in Java Ich möchte Dir aber noch zu Deinem Datenmodell sagen, dass Du dieses ggf einmal überdenken solltest, denn man würde Vornamen und Nachmen trennen, damit auch Teilsuchen möglich sind Phil Zitieren
screamboy14 Geschrieben 28. Juni 2009 Autor Geschrieben 28. Juni 2009 zitat von phill Ich möchte Dir aber noch zu Deinem Datenmodell sagen, dass Du dieses ggf einmal überdenken solltest, denn man würde Vornamen und Nachmen trennen, damit auch Teilsuchen möglich sind zitat ende ich will da sowieso noch radiobuttons einfugen damit man entscheiden kann ob man nur vor oder nur nachname oder beides scuhen will ^^ ich gug mir den link an danke ^^ wie amch ich das da zitat stehtr hehe Zitieren
screamboy14 Geschrieben 28. Juni 2009 Autor Geschrieben 28. Juni 2009 so hab die zeile jetz so geändert ("Select * from KlientTab where Name= '" + jTextFieldName.getText()+ "'" && "where Vorname ='" jTextFieldVorname.getText() +"'"); nur bei jtextfieldvorname... meint eclips syntax error delet this token aber ich kann kein syntaxfehler entdecken Zitieren
Klotzkopp Geschrieben 28. Juni 2009 Geschrieben 28. Juni 2009 meint eclips syntax error delet this token aber ich kann kein syntaxfehler entdeckenDann kann Eclipse das wohl besser als du Zwischen zweien deiner Textbausteine steht kein Operator. Außerdem solltest du dir die Syntax von WHERE-Klauseln mit mehreren Ausdrücken ansehen. Und zu guter Letzt: SQL-Injection ? Wikipedia xkcd - A Webcomic - Exploits of a Mom Zitieren
screamboy14 Geschrieben 28. Juni 2009 Autor Geschrieben 28. Juni 2009 man ich blick grade gar nicht durch kann man mir nciht einfach den befehl bitte geben =( wenn ich vor jtextfieldvorname ein operator (+) amche is der ganze befehl rot =( ich verzweifel langsam =( immer diese blöden syntax die regen mich immerwieder auf xD Zitieren
Klotzkopp Geschrieben 28. Juni 2009 Geschrieben 28. Juni 2009 man ich blick grade gar nicht durch kann man mir nciht einfach den befehl bitte gebenNein. Aus Vorsagen lernst du nicht. Und wenn du es nicht lernst, bist du innerhalb kurzer Zeit mit einem ähnlichen Problem wieder hier. Vorsagen ist Zeitverschwendung. =( wenn ich vor jtextfieldvorname ein operator (+) amche is der ganze befehl rot =(Naja, vielleicht ist ja auch noch etwas anderes falsch. Warum hast du denn eigentlich an einer Stelle && statt + benutzt? Und selbst wenn das so irgendwann mal funktioniert: Ist dir klar, was passiert, wenn jemand als Vorname-Suchwort '; DROP TABLE KlientTab; -- eingibt? Lass diese Stringbastelei. Zitieren
screamboy14 Geschrieben 28. Juni 2009 Autor Geschrieben 28. Juni 2009 ZITAT Naja, vielleicht ist ja auch noch etwas anderes falsch. Warum hast du denn eigentlich an einer Stelle && statt + benutzt? ZITAT ende naja ich hab && benutzt um die beiden befehle miteinander zu verknüpfen Zitieren
Klotzkopp Geschrieben 28. Juni 2009 Geschrieben 28. Juni 2009 ZITATBenutz bitte [quote]-Tags. Die werden automatisch erstellt, wenn du auf Zitieren statt auf Antworten klickst, da kannst du dir ansehen, wie das funktioniert. naja ich hab && benutzt um die beiden befehle miteinander zu verknüpfenDas sind aber keine Befehle, das sind Strings. An allen anderen Stellen hast du die Strings mit + verkettet. Zitieren
screamboy14 Geschrieben 28. Juni 2009 Autor Geschrieben 28. Juni 2009 ich geh ja imme rauf zitieren da sin daber keine tags naja hab jetz mit + gemacht kein fehler drinne aber er findet den datensatz nicht da steht wieder fehlender operator in den abfrageaustrücken vorname und name -.- mit dem zitierne bekomm ich nicht so hin wie ich will sry Zitieren
Klotzkopp Geschrieben 28. Juni 2009 Geschrieben 28. Juni 2009 da steht wieder fehlender operator in den abfrageaustrücken vorname und name -.-Ja, deswegen hatte ich dir empfohlen, dir die Syntax von WHERE-Klauseln genauer anzusehen. Ein kleiner Tipp: Zweimal "where" ist Blödsinn. Lass dir doch den fertig zusammengebastelten String mal ausgeben. mit dem zitierne bekomm ich nicht so hin wie ich will srySo schwierig kann das doch nicht sein. Schreib [quote] vor den zitierten Text, und [/quote] dahinter. Zitieren
screamboy14 Geschrieben 28. Juni 2009 Autor Geschrieben 28. Juni 2009 Ja, deswegen hatte ich dir empfohlen, dir die Syntax von WHERE-Klauseln genauer anzusehen. Ein kleiner Tipp: Zweimal "where" ist Blödsinn. Zitieren
elSusto Geschrieben 29. Juni 2009 Geschrieben 29. Juni 2009 erster link gei google AND villt solltest du auch mal googlen ;-) das hilft einem doch teilweise schon ein bisschen weiter Zitieren
screamboy14 Geschrieben 29. Juni 2009 Autor Geschrieben 29. Juni 2009 jetz binn ich auch noch mehr verwirrt der eine sagt + der andere AND wobei nur + geht sonst wird es rot (und mein englsich ist acuh nicht das beste aber thx für die seite ) und textmässig binn cih bei den code den ich hatte -.-. ("SELECT * FROM KlientTab WHERE Name='" + jTextFieldName.getText() + "'" +* "Vorname='" + jTextFieldVorname.getText() +"'"); *= wenn ich da ein AND mache wirds rot und wenn ich das mit dem + durchlaufen lasse sagt eclips nur SQL Exception: [Microsoft][ODBC Microsoft Access Driver] Syntaxfehler (fehlender Operator) in Abfrageausdruck 'Name='name'Vorname='vorname''. ich vernute ja das es doch an dem + liegt ich weiß schon warum ich sql und die iseries nicht mag -.- Zitieren
elSusto Geschrieben 29. Juni 2009 Geschrieben 29. Juni 2009 das + ist ein Java operator und das AND von SQL du hast das AND allerdings als Java perator benutzt. Jez müsste dir klar sein, wieso es nicht ging. "SELECT * FROM DeineTabelle WHERE name="' + value +"' AND vorname= '" + value + "'" Zitieren
Klotzkopp Geschrieben 29. Juni 2009 Geschrieben 29. Juni 2009 jetz binn ich auch noch mehr verwirrt der eine sagt + der andere AND Du musst hier zwischen Java und SQL unterscheiden. Das + brauchst du, um in Java deine Strings zusammenzuklöppeln (die Hinweise, dass das eine schlechte Idee ist, prallen ja an dir ab). AND brauchst du, um mehrere Bedingungen in deiner SQL-Abfrage zu verknüpfen. Das AND muss also im String stehen. Zitieren
screamboy14 Geschrieben 29. Juni 2009 Autor Geschrieben 29. Juni 2009 ein wunder es geht =) danke nochmal für die gute unterstützung die einfachsten fehlehr kann halt immer nur ich machen =( aber danke für die gedult ^^ wenn jemand aus bremen kommt lad ich euch gerne davor ein xDD auf enn eis hehe Zitieren
Empfohlene Beiträge
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.