Inhalt Textfield in SQL Statement klappt nicht...

bernds

Grünschnabel
Hallo, habe folgendes Problem:

Möchte den Inhalt eines Textfeldes in ein SQL Statement übernehmen um nach einem bestimmten Datensatz in der Tabelle zu suchen und ihn anzuzeigen. Jedoch wird der Inhalt zumindest bei meinem Code so nicht ausgelesen bzw. übernommen.... Kann mir da jemand helfen, bin noch recht neu bei Java...

PHP:
...
public class MyClass implements ActionListener
	{
	static STextField auftragIn = new STextField("");
        final String auftragsNr = auftragIn.getText();
...
public MyClass()
...
 topPanel.add(auftragIn);
...
SButton suchButton = new SButton("Suche!");
			 suchButton.addActionListener(this);
...
public void actionPerformed(ActionEvent e) {
			 if ( auftragIn.getText().equals("") )
			 {
					
				STextArea test = new STextArea("Bitte ein Suchkriterium eingeben");
				topPanel.add(test);
				 } 
				 else
				 {
String SQL = "select * from tabelle3 where auftrag like '%"+auftragsNr+"%'";

An dieser Stelle scheint "auftragsNr" null zu sein... Warum?
 
Hallo,

ist das auftragsNr = null oder steht nur nichts drin, kann ja auch meiner Meinung nicht da der String final und bei der Initialisierung mit einem Leerstring gesetzt wird. Ersetzte auftragsNr im SQLstring doch mit auftragIn.getText(), müsste eigentlich ja auch funktionieren

Grüße
R.
 
Hab ich versucht...
Klappt auch nicht. Wenn ich das so mache werden immer noch ALLE Auftragsnummern statt der einen selektiert...
 
ich habe dich bisher so verstanden das du eine Auftragsnummer in das Textfeld schreibst und dann suchen willst. Was steht denn da genau drin kannst du das genauer beschreiben

Grüße
R.
 
Also ich will im Textfeld eine Nummer eingeben, den Suchbutton anklicken und das Ergebnis angezeigt bekommen (in diesem Fall den Tabelleneintrag mit der eingegebenen Nummer).
Nur zeigt er mir nach wie vor alle Einträge an, auch wenn ich in das Textfeld eine Nummer eingebe...
Und da die Tabelle ziemlich groß ist, schmiert der Browser ab...
 
Hallo,

wieso machst du einen auftrag like '%auftragsnr%' und kein auftrag = auftragsnr wenn du diesen expliziten Datensatz willst. Hast du schon mal geschaut was in GetText drinsteht.

Grüße
R.
 
Ja, mach ich ja auch. Wenn das da leer ist, gibt er eine entsprechende meldung aus, ansonsten springt er zum sql statement.
Hab ich nur gemacht, damit nicht bei jedem test die ganze tabelle ausgegeben wird...
 
schicke vielleicht mal ein bisschen mehr Code ... also in diesem Schnipsel ist irgendwie nichts was auf einen direkten Fehler hinweist .... oder ich übersehe ihn einfach .

Grüße
R.
 
Zurück