Avatar billede shemeri Praktikant
09. oktober 2002 - 12:21 Der er 9 kommentarer og
1 løsning

Insert into mysql

Hej,

Hvordan kan jeg INSERT værdier til mysql databasen ved hjælp af parameter?! Jeg kunne ik gør det, derfor har jeg lavet en test ved hjælp af strings istedet. Koden ser sådan ud:

<%@page import="java.sql.*"%>
<%@page import="java.io.*"%>
<%@page import="java.lang.*"%>
<%@page contentType="text/html; charset=Windows-1251"%>

Class.forName("org.gjt.mm.mysql.Driver");
        Connection con = DriverManager.getConnection("jdbc:mysql://localhost/RaceRunner", "XXX", "XXX");
        Statement st = con.createStatement();

                String Person_ID_a = "980s02";
                String Overviewer_ID_a = "00s33";
                String HandcapClass_a = "SSsS";
                String Tournement_ID_a ="ww";
                String Record_a ="wsw";

* do registration */
       
    st.executeUpdate("INSERT INTO athlete(Person_ID, Overviewer_ID, Tournement_ID, Record, HandcapClass) VALUES(?, ?, ?, ?, ?)");
%>

jeg får en fejl meddelsen:

Syntax error or accesss violation: You have an error in your SQL syntax near '?,?,?,?,?)' at line 1
Avatar billede soreno Praktikant
09. oktober 2002 - 12:24 #1
VALUES('?', '?', '?', '?', '?')
Avatar billede medions Nybegynder
09. oktober 2002 - 12:25 #2
st.executeUpdate("INSERT INTO athlete(Person_ID, Overviewer_ID, Tournement_ID, Record, HandcapClass) VALUES('?', '?', '?', '?', '?')");

//>Rune
Avatar billede shemeri Praktikant
09. oktober 2002 - 12:26 #3
så skriver den ?'er i databasen ikke Strings?!!
Avatar billede medions Nybegynder
09. oktober 2002 - 12:26 #4
Du skal indklamre alle stringtyped data, med ' og '... og ? er et char af typen String... Havde det været en Integer så kunne du ha' undværet ' og '!

//>Rune
Avatar billede shemeri Praktikant
09. oktober 2002 - 12:27 #5
Altså jeg vil have Person_ID_a, Overviewer_ID_a osv strings skrevet i databasen?!
Avatar billede medions Nybegynder
09. oktober 2002 - 12:27 #6
Det er fordi du prøve at sætte stringværdier ind i et integerfelt. Det kan du ikke..

Prøv med:

st.executeUpdate("INSERT INTO athlete(Person_ID, Overviewer_ID, Tournement_ID, Record, HandcapClass) VALUES(5, 4, 3, 2, 1)");

//>Rune
Avatar billede soreno Praktikant
09. oktober 2002 - 12:28 #7
st.executeUpdate("INSERT INTO athlete(Person_ID, Overviewer_ID, Tournement_ID, Record, HandcapClass) VALUES('" + Person_ID_a + "', '" + Overviewer_ID_a + "', '" + HandcapClass_a + "', '" + Tournement_ID_a + "', '" + Record_a + "')");
Avatar billede soreno Praktikant
09. oktober 2002 - 12:31 #8
sammensætning af strenge fungere således:
String test;
test = "hejsa" + "verden";

på samme måde kan du putte "Person_ID_a" osv. ind i din sætning.
Avatar billede shemeri Praktikant
09. oktober 2002 - 12:39 #9
Yep IT WORKS... tak allesammen
men så på den måde kan jeg hente alle parameter og gem dem hver i en streng og tilføj strengen til databasen, ik også?!
Jeg ved godt hva er en streng og int men jeg var ik helt klar over '?' i insert.
Avatar billede medions Nybegynder
09. oktober 2002 - 12:51 #10
Anytime ;o)

//>Rune
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
Kurser inden for grundlæggende programmering

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