Zitat Zitat von BenderD
Hallo,

Cursor state not valid deutet normalerweise auf einen Fehler in der Applikation hin, ohne Source geht da für uns garnix.

mfg

Dieter Bender

Also den ganzen Quellcode kann ich logischerweise nicht posten.. darum poste ich mal das was ich in die engere Wahl ziehen.

Ich habe mir mal schon vor längerer Zeit einen Klasse gemacht, die ich für den Zugriff auf versch. Datenbanken nutzen kann.

Die Methode die fürs executes zuständig sieht wie folgt aus:
Code:
public void command(String sqlcmd) {
	try {
		java.sql.Statement st = c.createStatement();
		st.executeQuery(sqlcmd);
		st = null;
	} catch (SQLException e) {
		//Exception Handling
	} 
}

Die, in der ich dann den Insert-String erstelle:
Code:
 private void erstelleSQLStrings() {
        sqlStatements = new LinkedList();
        LinkedList sqlSatz = null;
        SQLElement tmp = null;
        for(int i = 0;i<Stat_vars.sqlSaetze.size();i++) {
            insertInto = new StringBuffer();
            values = new StringBuffer();
            sqlSatz = (LinkedList)Stat_vars.sqlSaetze.get(i);
            for(int j=0;j<sqlSatz.size();j++) {
                tmp = (SQLElement)sqlSatz.get(j);
                insertInto.append(tmp.getFeld()+", ");
                values.append(tmp.getWert()+", ");
            }
            sqlStatements.add((new String("INSERT INTO "+ 
                    +Stat_vars.ZIELDATEI +" ("+insertInto.substring(0,insertInto.length()-2) + 
                    ") VALUES(" + values.substring(0,values.length()-2) + ")"))); 
        }

Diese Methode übernimmt dann quasi das eintrage:
Code:
private void verarbeiteSQLStrings() {
        Stat_vars.verbindeDB();
        for(int i=0;i
Und der daraus erzeugte SQL-String sieht wie folgt aus:
Code:
 INSERT INTO GB311S (GLSS01, GLSS02, GLSS03, GLSS04, GLSS05, GLSS06, GLSS07, GLSS08, GLSS09, GLSS10, GLSS11) VALUES(85203879005, 20041208, 8500, 2011, 20041208, 0000, 'Müller', 51047, '3SPS80644954-001', '0', 'NixName')
Wie gesagt in Sachen Feldtypen passt alles.

Achja.. die von mir erwähnte Datenbankklasse ist ein statisches Object.

Wie gesagt, das sind die "betroffenen" Teile.