0

私の Access データベースの memberID は現在 M15 です。次の memberID M16 を取得したいのですが、それを取得してテキスト フィールドに表示する方法を教えてください。

文字列クエリ。

query = "INSERT INTO Membership VALUES ('" +memberID_a.getText() + "','" +memberName_a.getText() + "','" + icNo_a.getText()  + "','" + gender_a.getText()  +"','" + birthday_a.getText()  +"','" + telephoneNo_a.getText()  + "','" + mobileNo_a.getText()  + "','" + email_a.getText()  + "','" + address_a.getText()  + "','" + postalCode_a.getText() + "','" + state_a.getText()  + "','" + country_a.getText()  + "','" + memberPoint_a.getText() + "');"; 



try{

        stmtInsert = conn.createStatement(); 
        stmtInsert.executeUpdate(query);

} catch(Exception ex){
            JOptionPane.showMessageDialog(null,"ERROR"+ex.toString(),"ERROR",JOptionPane.ERROR_MESSAGE);
}
4

1 に答える 1

0
query = "INSERT INTO Membership VALUES ('" +memberID_a.getText() + "','" +memberName_a.getText() + "','" + icNo_a.getText()  + "','" + gender_a.getText()  +"','" + birthday_a.getText()  +"','" + telephoneNo_a.getText()  + "','" + mobileNo_a.getText()  + "','" + email_a.getText()  + "','" + address_a.getText()  + "','" + postalCode_a.getText() + "','" + state_a.getText()  + "','" + country_a.getText()  + "','" + memberPoint_a.getText() + "');";

決して、決してそれをしないでください。

http://en.wikipedia.org/wiki/SQL_injection

代わりに使用

query = "INSERT INTO Membership VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?)";

それぞれどこ?プレースホルダです。

http://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html

いずれにせよ、データベース テーブルについて理解しておくべき重要なことは、クエリで「order by」句を使用しない限り、行の順序は無意味だということです。したがって、id列で並べ替えたい場合は、次を使用します

SELECT * from Membership ORDER BY id;
于 2013-07-08T09:06:03.857 に答える