|
|
| insertion in SQL |
Expert:vasu
Query is "insert into employee values('"+eno+"','"+ename+"');" in the ename place we will get employee names such as
John's Peter,Peter's Johnson etc.... i am not able to insert this kind of names in the database because of single code in the name. dbase is MS-SQL emp.name data type varchar(MAX). why I am not able to insert single codes in the database. As far as I know string parameter in SQL is denoted as 'john' . I think thats why it is not accepting any single code.. any way.. Thanks for fast reply.... Pls. calrify my doubt........ |
| Answers |
Hi friend,
Code to solve the problem :
import java.io.*; import java.sql.*;
public class InsertRecords{ public static void main(String[] args) { System.out.println("Insert records example using prepared statement!"); Connection con = null; try{ Class.forName("com.mysql.jdbc.Driver"); con = DriverManager.getConnection("jdbc:mysql://localhost:3306/userdetails","root","root"); try{ String str = "John's"; str = str.replace("'","\\'"); String sql = "INSERT employee (username)VALUES('"+str+"')";
System.out.println(sql + sql);
PreparedStatement prest = con.prepareStatement(sql); int count = prest.executeUpdate(); System.out.println(count + "row(s) affected"); con.close(); } catch (SQLException s){ System.out.println(s); } } catch (Exception e){ e.printStackTrace(); } } }
Thanks
|
Hi,
In java also we can't use \ directly.. as we use \\ to get printed. So,
For SQL queires we have to give two single quotes like My name is John's Peter ---> My name is John''s Peter....
So in your java class it self before executing the query add the following line.
ename= ename.replaceAll("'","''");
|
| More Questions |
|
|
Post Answers
Ask Question
Facing Programming Problem?
|
|
|
|
|