所以我正在创建一个程序,将GUI中的用户输入作为参数。如果用户输入带撇号的单词或句子,我该如何处理?
我正在使用它在数据库中输入内容,例如:
INSERT INTO users (firstname, lastname) VALUES ('"+firstNameString+"', '"+lastNameString+"')
如果用户的名字与John O'Neill相似,则会产生错误。 鉴于我无法控制用户可能输入的内容,我该如何处理该使徒?
答案 0 :(得分:2)
为了避免这样的问题,请使用PreparedStatements。通常,您的代码看起来像这样:
....
PreparedStatement ps = null;
try {
ps = connection.prepareStatement("INSERT INTO users (firstname, lastname) VALUES (?,?)");
ps.setString(1,firstNameString);
ps.setString(2,lastNameString);
int result = ps.executeUpdate();
...
答案 1 :(得分:-1)
要添加转义序列,您可以在Oracle中使用'
,如果您想要转义'
,请添加'''
首先'
是String的开头
第二个'
在我们的案例中转义了第三个字符'