我试图使用Java JDBC在oracle中插入用户的输入.我必须使用插入查询.
Oracle的列类型是varchar2.
如果用户没有输入特殊字符,我可以插入.当用户输入像#这样的特殊字符时?/和$它给出了异常
请帮助解析这些特殊字符.我需要使用插入查询我不能在我的项目中使用存储过程或可调用语句.
感谢您的时间.
据我所知,Oracle不要求你转义字符串值,所以:
INSERT INTO some_table (my_varchar_column) VALUES ('my string with a ?');
Run Code Online (Sandbox Code Playgroud)
应该管用.
但要确保使用java.sql.PreparedStatement如下:
PreparedStatement preparedStatement = connection.prepareStatement("INSERT INTO some_table (my_varchar_column) VALUES (?)");
preparedStatement.setString(1, "my string with a ?");
preparedStatement.execute();
Run Code Online (Sandbox Code Playgroud)
使用预准备语句通常是针对数据库执行SQL的推荐方法.它将有助于提高性能并有助于防止SQL注入攻击.
| 归档时间: |
|
| 查看次数: |
8946 次 |
| 最近记录: |