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 に答える