PreparedStatement kikser
Hej ukendte Redningsmand/kvinde,Jeg har et problem som jeg virkelig slår panden mod muren med. Jeg håber virkelig at du kan hjælpe mig med det:
I DB har jeg spells som ser således ud:
create table spell(
spellID NUMBER(20),
forfatter VARCHAR2(50),
titel VARCHAR2(100),
broedtekst VARCHAR2(2000),
tilstand VARCHAR2(50),
DMkommentar VARCHAR2(1000),
datoforoprettelse VARCHAR2(100));
//sekvens til generering af unik nøgle spellID
create sequence spellseq start with 10;
Jeg forsøger at lave en PreparedStatement godkendSpell, som ser således ud:
godkendSpell = connection.prepareStatement("update Spell SET "+
"tilstand = 'godkendt' where spellID = ?;");
spellID er en int og jeg kalder min PreparedStatement således:
godkendSpell.setInt(1, parsedID);
godkendSpell.executeUpdate();
Formålet er at jeg vil opdatere en bestemt spells tilstand ud fra dens ID, som er en int.
Resin giver mig følgende fejl:
DBCSBean: SQL-fejl i godkend_spell: java.sql.SQLException: ORA-00911: ugyldigt tegn
Hvad er der galt? Jeg er usikker på min PreparedStatement, men kan ikke se nogen fejl.
PS: godkend_spell ser således ud:
//opdaterer en spell's tilstand til 'godkendt'
public synchronized void godkend_spell(String id) {
int parsedID = 0;
try { parsedID = Integer.parseInt(id);}
catch(Exception e) {
System.err.println("DBCSBean: Parse-fejl i godkend_spell: " + e);
}
try {
godkendSpell.setInt(1, parsedID);
godkendSpell.executeUpdate();
}
catch(SQLException SQLe) {
System.err.println("DBCSBean: SQL-fejl i godkend_spell: " + SQLe);
connection = null;
}
}
