0

如果我有一个带有接口的代码,该接口从用户那里获取数据,然后将此数据存储在字符串类型的变量中,我怎样才能将这个变量插入数据库?这是我所说的一个例子:

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)");

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

我怎样才能做到这一点?

4

1 回答 1

1

使用PreparedStatemt. 您可以在http://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html中找到一个示例

为防止SQL 注入,所有查询都应参数化,并且永远不应使用字符串连接来创建动态 SQL。

于 2012-04-27T21:07:12.240 回答