如果我有一个带有来自用户数据的接口的代码,然后将这些数据存储在string类型的变量中,我该如何在数据库中插入这个变量?这是我说的一个例子:
String s1="user@hotmail.com";
Class.forName("org.apache.derby.jdbc.ClientDriver");
Connection con=
DriverManager.getConnection("jdbc:derby://localhost:1527/SampleDB","app","app");
Statement st=con.createStatement();
st.executeUpdate("INSERT INTO EMAIL"+"(ID)"+"VALUES(s1)");
但是这种方式不起作用,并且不会在数据库中插入这个字符串类型的变量!
我该怎么做?
答案 0 :(得分:1)
使用PreparedStatemt
。您可以在http://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html
为防止SQL injection所有查询都应进行参数化 永远不应该使用字符串连接来创建动态SQL。