11. december 2004 - 12:36Der er
17 kommentarer og 1 løsning
Syntax error on token
Hey,
har set mig blind på den her tror jeg! Kan ikke se hvad jeg har lavet forkert. ------------------------------- public void indsætVare(Vare v) throws SQLException {
stmt.executeUpdate("insert into VARE (VARE_ID, NAVN,PRIS) values('" +v.vare_id+ ", "+ v.navn + "', " + v.pris + ")"); } ----------------------------------------------------- Får fejl i første linie, første parantes er markeret med rødt. Og dette er fejlen: --------------------- java.lang.Error: Unresolved compilation problem: Syntax error on token "(", ";" expected
at OracleTest.main(OracleTest.java:31) Exception in thread "main" ----------------------- Koden ligger i en try-clause. Nogen der lige kan overskue hvad fejlen er?
har smidt din linie ind, men får fortsat samme fejl. Jeg har kodestykket liggende i en anden klasse hvor jeg ikke får fejl på den, derfor undrer det mig....
public String toString() { return navn+": "+pris+" kr."; } } -------------------------------- Hvor indsætter jeg kodestykket? Det har måske noget med placeringen at gøre....
Jeg vil ikke indsætte din indsætVare metode i ovenstående kode. Det er jo din main-klasse! Jeg ville lave en klasse og kalde den noget a la DatabaseManager eller lignende og lade den stå for alt der har med databasen at gøre.
java.lang.NullPointerException at DatabaseManager.indsætVare(DatabaseManager.java:24) at OracleTest.main(OracleTest.java:34) Exception in thread "main"
Min DatabaseManger ser således ud: -------------------- import java.sql.SQLException; import java.sql.Statement;
public class DatabaseManager {
private static Statement stmt;
public void indsætVare(Vare v) throws SQLException {
det må du undskylde, jeg havde ikke lige fået opdateret siden og set dit udkast. Godt udkast, for nu virker det;-)
Jeg har lige 2 hurtige. 1. values("+v.vare_id+ ", '"+ v.navn + "', " + v.pris + ")"); Hvordan skal det læses? Er i tvivl om hvor jeg skal sætte"', bare så jeg selv kan gøre det næste gang. 2. Hvis jeg har oprettet noget som varchar2 og char i databasen, hvad hiver jeg det så ud som? String, int?
Der er dog et mindre problem i at bruge ovenstående, nemlig at du i den tekst du indsætter ikke må bruge tegn som ' da den vil forstyrre sql sætningen og databasen vil ikke kunne håndtere det.
Hvis du har brug for at indsætte tekster med ' skal du bruge det der hedder et PreparedStatement.
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.