如何处理用户输入字符串中的撇号



所以我正在制作一个程序,它将GUI中的用户输入作为参数。如果用户输入带有撇号的单词或句子,我该如何处理?

我用它把一些东西输入到数据库中,例如:

INSERT INTO users (firstname, lastname) VALUES ('"+firstNameString+"', '"+lastNameString+"')

如果用户名类似于John O'Neill,则会出现错误。考虑到我无法控制用户可能输入的内容,我该如何处理这个撇号?

为了避免此类问题,请使用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();
...

要添加转义序列,可以在Oracle中使用',如果要转义',则添加'''

第一个'是字符串的开始在我们的情况下,第二个'转义第三个字符,即'

相关内容

  • 没有找到相关文章

最新更新