hsqldb INSERT - Unexpected token

Status
Nicht offen für weitere Antworten.

lazoli

Mitglied
Hallo Programmierer,

Als erstens wünsche ich euch einen schönen Abend und möchte nun meine Frage stellen. Wenn ihr ganz runterscrollt seht ihr eine Fehlerausgabe (Exception). Ich habe eine kleine Oberfläche, da kann ich Kategorie erstellen, durch Eingabe in die Textfelder sollte ich per ADD-Button die Daten in die Datenbank speichern können. Leider bekomme ich eine "Unexpected token", was bedeutet das...

In der CategoryController rufe ich per
Code:
dbconn.addCategory(cat_name,cat_descr);
die Methode auf, habe irgendwo eine kleine/einfache Fehler, deshalb Anfängerfrage :oops:

Wie kann ich es lösen, damit Insert problemlos funzt?

danke im voraus

CategoryController - Controller Klasse für Kategorieverwaltung
Code:
import database.Testdb;

public class CategoryController implements ActionListener {
	
	private Testdb dbconn;
	private CategoryDialog cat_dialog;
	
	public CategoryController(final CategoryDialog cat_dialog)
	{
		this.cat_dialog = cat_dialog;
		
		ActionListener AddCategoryListener = new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				
				String cat_name = cat_dialog.getCatName();
				String cat_descr = cat_dialog.getCatDescr();
				
				System.out.println("Ausgabe cname: " + cat_name);
				System.out.println("Ausgabe cdescr: " + cat_descr);
				
				dbconn.addCategory(cat_name,cat_descr);
			}
		};
		
	
		cat_dialog.bt_addCategoryDialogActionPerformed(AddCategoryListener);
	}	
	
	public void actionPerformed(ActionEvent e) {
		//LEER
	}
}
Code:
Testdb:
public class Testdb {

    Connection conn;                                                //our connnection to the db - presist for life of program
    static Testdb db = null;
    
...
    
//use for SQL commands CREATE, DROP, INSERT and UPDATE
    public synchronized void update(String expression) throws SQLException {

        Statement st = null;

        st = conn.createStatement();    // statements

        int i = st.executeUpdate(expression);    // run the query

        if (i == -1) {
            System.out.println("db error : " + expression);
        }

        st.close();
    }    // void update()

	public static void addCategory(String cname, String cdescr) {
		
        try {
            db = new Testdb();
        } catch (Exception ex1) {
            ex1.printStackTrace();    // could not start db

            return;                   // bye bye
        }
		
        try { 
			db.update("INSERT INTO category VALUES(50, '"+cname+"','"+cdescr+"'");
			
			db.query("SELECT * FROM category WHERE cat_id"); 
			
			db.shutdown();
		} catch (SQLException e) {
			// TODO Auto-generated catch block			
			e.printStackTrace();
		}	
	}   
}    // class Testdb


Ausgabe + Exception:
Code:
Ausgabe cname: asdf
Ausgabe cdescr: asdf
java.sql.SQLException: Unexpected token:  in statement [INSERT INTO category VALUES(50, 'asdf','asdf']
	at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
	at org.hsqldb.jdbc.jdbcStatement.fetchResult(Unknown Source)
	at org.hsqldb.jdbc.jdbcStatement.executeUpdate(Unknown Source)
	at database.Testdb.update(Testdb.java:117)
	at database.Testdb.addCategory(Testdb.java:217)
	at contactManager.CategoryController$1.actionPerformed(CategoryController.java:29)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)

danke danke
 
S

SlaterB

Gast
fehlt da die schließende Klammer am Ende?
deine 200 Zeilen Code kannst du dir sparen bei so einem SQL-Fehler,

du hättest nur einmal mit System.out.println() die SQL-Query ausgeben und hier posten sollen:

Code:
update(expression) {
..
System.out.println("now update: "+expression); // wichtig!!
int i = st.executeUpdate(expression);    // run the query 
..
}

wenn was nicht geht, erstmal die Query kopieren und direkt in der MySQL-Konsole oder einem anderen Programm gegentesten,
tritt da der gleicheFehler auf, dann ist es allein SQL-Syntax,

danach kann man dann durchaus ins Java-Programm schauen,
das ja diese Syntax erzeugt, eine fehlende Klammer ist aber nicht schwer zu ergänzen
 

lazoli

Mitglied
Super Danke SlaterB, hab die schließende Klammer übersehen...

habe die 200 codezeile bisschen reduziert ;-)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Einfache HSQLDB? (lock acquisition failure) Java Basics - Anfänger-Themen 2
K HSQLDB?? Java Basics - Anfänger-Themen 2
L HsqlDB Primary Key Java Basics - Anfänger-Themen 2
C Hsqldb Java Basics - Anfänger-Themen 3
J Zusätzliche jar dateien in Java APplet (hsqldb.jar) Java Basics - Anfänger-Themen 8
M Access to HSQLDB Converter Java Basics - Anfänger-Themen 2
M Beispiel-Webprojekt: Statt HSQLDB Postgres verwenden Java Basics - Anfänger-Themen 12
E HSQLDB Datenbank Eintrag Java Basics - Anfänger-Themen 11
S Zugriff auf hsqldb nach Programmneustart? Java Basics - Anfänger-Themen 2
B hsqldb (beziehungen zw. Tabellen) Java Basics - Anfänger-Themen 8
L hsqldb Xstellige AutoIncrement? Java Basics - Anfänger-Themen 3
L hsqldb - query als String ausgeben Java Basics - Anfänger-Themen 3
L hsqldb Methodenaufruf Java Basics - Anfänger-Themen 10
L MySQL, Interbase, hsqldb, . ? Java Basics - Anfänger-Themen 10
M hsqldb ( ALter Table test add bla VARCHAR(50) ) Java Basics - Anfänger-Themen 7
E Pervasive PSQL insert funktion geht nicht Java Basics - Anfänger-Themen 9
E Mysql Update wenn es nicht existiert insert Java Basics - Anfänger-Themen 14
E Insert() Java Basics - Anfänger-Themen 12
C Erste Schritte Insert Into klappt nicht Java Basics - Anfänger-Themen 6
P Schleife für insert() und delete() im StringBuilder in Verbindung mit indexOf() Java Basics - Anfänger-Themen 7
A Android Datenbank gaaanz einfaches Insert geht nicht - warum? Java Basics - Anfänger-Themen 4
F Methoden Insert Sort Fehler Java Basics - Anfänger-Themen 10
M AutoID auslesen nach INSERT Java Basics - Anfänger-Themen 8
I Problem mit H2-DB Insert-Statement Java Basics - Anfänger-Themen 3
K Problem mit h2 DB Insert Befehl Java Basics - Anfänger-Themen 6
C SELECT klappt INSERT klappt nicht!!!??? Java Basics - Anfänger-Themen 3
M Nodes/LinkedList und insert funzt net Java Basics - Anfänger-Themen 9
V Problem mit Insert-Methode des Binärbaums Java Basics - Anfänger-Themen 4
M Insert into klappt nicht? Java Basics - Anfänger-Themen 7
V Insert into klappt nicht so ganz Java Basics - Anfänger-Themen 6
W sql "Insert into" funktioniert nicht Java Basics - Anfänger-Themen 5
I JTextArea insert Methode Java Basics - Anfänger-Themen 5
L INSERT Statement geht nicht HILFE! Java Basics - Anfänger-Themen 2
T Insert befehl geht nicht Java Basics - Anfänger-Themen 15
G String.insert an unbekannter Stelle Java Basics - Anfänger-Themen 5
S Listen - insert - print etc. Dringend! Bitte! Java Basics - Anfänger-Themen 6
P Eclipse Karate Framework API Test . Unexpected Error: the trustAnchors parameter must be non-empty Java Basics - Anfänger-Themen 1
B cal4j - Error at line 1:Unexpected end of file Java Basics - Anfänger-Themen 0
H unexpected identifier Java Basics - Anfänger-Themen 1
K VerketteteListen unexpected type Fehler Java Basics - Anfänger-Themen 2
Joew0815 Compiler-Fehler Unexpected Type - Problem mit Variablen rechnen Java Basics - Anfänger-Themen 7
O unexpected type - weiß nicht weiter! Java Basics - Anfänger-Themen 3
M Datentypen problem!! Unexpected type in bleuj Java Basics - Anfänger-Themen 2
P Compiler-Fehler unexpected type - Stehe auf dem Schlauch Java Basics - Anfänger-Themen 3
J unexpected type variable/value Java Basics - Anfänger-Themen 2
K unexpected type variable/value Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben