Avatar billede eerikk Nybegynder
07. maj 2002 - 23:30 Der er 1 løsning

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;
      }
  }

Avatar billede eerikk Nybegynder
08. maj 2002 - 12:58 #1
Jeg fandt selv fejlen;

godkendSpell = connection.prepareStatement("update Spell SET "+
  "tilstand = 'godkendt' where spellID = ?;");

skal være:

godkendSpell = connection.prepareStatement("update Spell SET "+
  "tilstand = 'godkendt' where spellID = ?");
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester