Avatar billede dennism Nybegynder
01. december 2006 - 18:09 Der er 5 kommentarer og
1 løsning

Java: problem med mySQL

Jeg forsøger at indsætte denne String ind i en kolonne i min tabel på min mySQL-database:

INSERT INTO race (raceDateId, num, title) VALUES ('1','1','Travløb')

Jeg får en fejl, fordi den tror at ' afslutter linien - men det er ikke tilfældet.

Jeg har altså en query ala denne:
String username = "brugernavn";
String action = "INSERT INTO race (raceDateId, num, title) VALUES ('1','1','Travløb')";

MySQL.insert("INSERT INTO log (username,action) VALUES ('"+username+"','"+action+"')");

Nogen der kan hjælpe med dette?
Avatar billede kalp Novice
01. december 2006 - 18:59 #1
Replace(action,"'","''")

kan ikke huske hvor mange der skal være af '
men du skal nok lige replace dem !
Avatar billede kalp Novice
01. december 2006 - 19:00 #2
MySQL.insert("INSERT INTO log (username,Replace(action,"'","''")) VALUES ('"+username+"','"+action+"')");
Avatar billede arne_v Ekspert
01. december 2006 - 19:14 #3
i Java maa det vaere

MySQL.insert("INSERT INTO log (username,action) VALUES ('"+username.replaceAll("'","''")+"','"+action.replaceAll("'","''")+"')");

men det vil vaere langt bedre at bruge PreparedStatement

se f.eks. http://www.eksperten.dk/artikler/830
Avatar billede dennism Nybegynder
01. december 2006 - 19:33 #4
Tak, arne.

smider du lige et svar?
Avatar billede arne_v Ekspert
01. december 2006 - 21:48 #5
svar
Avatar billede kalp Novice
02. december 2006 - 12:21 #6
sorry... glemte at tjekke katogorien=) troede vi var i ASP:P
men ja pointen var også bare at man skulle håndtere problemet med '
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