从用户获取数据然后将其插入javadb

时间:2012-04-27 21:01:43

标签: java sql derby javadb

如果我有一个带有来自用户数据的接口的代码,然后将这些数据存储在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)");

但是这种方式不起作用,并且不会在数据库中插入这个字符串类型的变量!

我该怎么做?

1 个答案:

答案 0 :(得分:1)

使用PreparedStatemt。您可以在http://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html

中找到示例

为防止SQL injection所有查询都应进行参数化 永远不应该使用字符串连接来创建动态SQL。