Wisd0m Skrevet 25. februar 2009 Del Skrevet 25. februar 2009 (endret) Hei Prøver å få kjørte følgende kode i Netbeans package oving5;import java.sql.*; import static javax.swing.JOptionPane.*; // Øving 5 Oppgave a public class BibliotekB { public static void main(String[] args) throws Exception { String databasedriver = "org.apache.derby.jdbc.ClientDriver"; // HM HM Class.forName(databasedriver); String databasenavn = "jdbc:derby://localhost:1527/vprg;user=vprg;password=vprg"; Connection forbindelse = DriverManager.getConnection(databasenavn); //update eksemplar set laant_av = 'Per Olsen' where isbn = '0-07-241163-5' and eks_nr = 1 and laant_av is null Statement setning = forbindelse.createStatement(); String isbn = showInputDialog("skriv inn isbn"); String laant_av = showInputDialog("navn"); String lest = showInputDialog("antall eksmplar"); int eks_nr = Integer.parseInt(lest); String SQLset ="update eksemplar set laant_av = '"+laant_av + "'where isbn ='" + isbn + "' and eks_nr = "+ eks_nr + " and laant_av is null"; if(setning.executeUpdate(SQLset)==1){ showMessageDialog(null, "gikk bra"); }else showMessageDialog(null, "gikk dårlig"); setning.close(); forbindelse.close(); } } Men får følgende feilmelding run:Exception in thread "main" org.apache.derby.client.am.SqlException: Schema 'VPRG' does not exist at org.apache.derby.client.am.Statement.completeSqlca(Unknown Source) at org.apache.derby.client.am.Statement.completeExecuteImmediate(Unknown Source) at org.apache.derby.client.net.NetStatementReply.parseEXCSQLIMMreply(Unknown Source) at org.apache.derby.client.net.NetStatementReply.readExecuteImmediate(Unknown Source) at org.apache.derby.client.net.StatementReply.readExecuteImmediate(Unknown Source) at org.apache.derby.client.net.NetStatement.readExecuteImmediate_(Unknown Source) at org.apache.derby.client.am.Statement.readExecuteImmediate(Unknown Source) at org.apache.derby.client.am.Statement.flowExecute(Unknown Source) at org.apache.derby.client.am.Statement.executeUpdateX(Unknown Source) at org.apache.derby.client.am.Statement.executeUpdate(Unknown Source) at oving5.BibliotekB.main(BibliotekB.java:33) Java Result: 1 BUILD SUCCESSFUL (total time: 7 seconds) Noen som vet hva jeg har gjort feil? Endret 25. februar 2009 av Wisd0m Lenke til kommentar
blackbrrd Skrevet 25. februar 2009 Del Skrevet 25. februar 2009 Ser du har satt oppgaven som løst uten å skrive hva løsningen var. Personlig vil jeg ikke ha satt oppgaven som løst. Hvis noen skriver inn navnet "oisann';--" så vil alle lånt av kolonnene i tabellen eksemplarer være satt til "oisann". Ikke helt heldig. Bruk preparedStatements for å løse sikkerhetsrisikoen. hint: forbindelse.prepareStatement Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå