Gå til innhold

Netbeans sqlexception [LØST]


Anbefalte innlegg

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 av Wisd0m
Lenke til kommentar
Videoannonse
Annonse

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

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...