int tmp=request.getParameter("fltName");
statement.executeUpdate("INSERT INTO tblBook (colDate, colName, colText) VALUES ("+request.getParameter("fltName")+", "+tmp+", 3)");
Tänk dock på att int inte får vara null (eftersom det är en primitiv datatyp, inget objekt) så du måste vara säker på att det finns data i "fltName".
Ett annat och mycket snyggare sätt är att använda "PreparedStatement". Detta sätt är också mycket efektivare om du måste göra många liknande insert/update, du gör ett preparedstatement och jobbar sedan mot det för alla update/insert.
int tmp1=request.getParameter("fltName1");
int tmp2=request.getParameter("fltName2");
int tmp3=request.getParameter("fltName3");
PreparedStatement s = conn.prepareStatement("INSERT INTO tblBook (colDate, colName, colText) VALUES (?, ?,?)");
s.setInt(1,tmp1);
s.setInt(2,tmp2);
s.setInt(3,tmp3);
s.executeUpdate();
Japp, det ser bra ut :)
När du kör en preparedstatement så behöver du inte heller oroa dig för vad ska ha för fnuttar och typ runt datum och strängar, det fixar preparedstatement till.
Jag gillade det här med preparedStatement. Kan man använda det även när man söker i databasen?
String givenName = request.getParameter("fltGivenName");
ResultSet rs = statement.executeQuery("SELECT colID FROM tblUsers WHERE colGivenName LIKE '%" + givenName + "%' ORDER BY colSurName");
Ja!
Det funkar ju fint men hur gör jag om jag vill ha in %-tecknena också:
String givenName = request.getParameter("fltGivenName");
PreparedStatement s = con.prepareStatement("SELECT colID FROM tblUsers WHERE colGivenName LIKE ?");
s.setString(1,givenName);
ResultSet rs = s.executeQuery();
Fast prestandaökningen sker vid användning av INSERT, DELETE och UPDATE-frågor. Däremot tror jag knappast att det är någon prestandaförlust att använda det vid en SELECT-fråga, så gillar du det bör du använda det. :)
Jag tycker själv inte att det blir bra/snyggt/rent när man kör så som jag skrev (om SPiN's kod fungerar så ser det ju bättre ut) och när du har en Select så är det sällan du ställer flera likadan eftervarandra som du gör med update och insert, det är när du gör det som ett PreparedStatement har en fördel när det gäller prestanda.