- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个包含六个“?”的准备好的声明在里面。并且在所有地方都将替换为相同的字符串。
应该首选以下两种方法中的哪一种:
pstmt = con.prepareStatement(QUERY.replaceAll("\\?", id));
或
pstmt = con.prepareStatement(QUERY));
pstmt.setString(1, id);
pstmt.setString(2, id);
pstmt.setString(3, id);
pstmt.setString(4, id);
pstmt.setString(5, id);
pstmt.setString(6, id);
最佳答案
第二个,第一个可能容易受到 SQL 注入(inject)攻击。尤其是当(在这里看起来如此)id
是一个 String
时。
pstmt = con.prepareStatement(QUERY));
pstmt.setString(1, id);
pstmt.setString(2, id);
pstmt.setString(3, id);
pstmt.setString(4, id);
pstmt.setString(5, id);
pstmt.setString(6, id);
另外,上面的语句应该执行得更好,因为语句查询缓存可能会为不同的 id(s) 重用语句。第一个示例并非如此。
关于java - replaceAll 与 setString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25427880/
我对编程很陌生,但我正在为后台应用程序制作一个屏幕。此应用程序的目标是您可以选择车站名称,当您按检查状态时,会显示该车站上储物柜的所有状态。但我遇到的问题是 setString 由于某些奇怪的原因不起
我有两个表“Table1”,其中包含 user_name、Password 和类(class) ID 列,另一个表“course”包含 course_id、course_name 列。我使用以下代码根
我有一个这样的结构: type ProductionInfo struct { StructA []Entry } type Entry struct { Field1 string
背景 我正在尝试将 ArrayList 的内容设置到 Db2 SQL 语句中的 IN 子句中。我正在使用 PreparedStatement 来构建我的查询。 这是我们的编码标准。 我尝试过的#1 我
我正在编写一个调用 MSSQL 数据库中的存储过程的方法。存储过程有 4 个输入,全是数字。我使用 setString() 输入存储过程的参数。 我收到以下编译错误 no suitable metho
我有以下情况... 我使用 java.sql 包中的 CallableStatement。当我在执行存储过程之前使用 setDate 函数时,出现错误: Cannot find symbol symb
我在 for 循环中使用 setString 时遇到问题。 我有这一行要插入到我的数据库中的表中 12.S777.V77.D88.wagon/1.Train/889 和777代表二等舱的乘客数量。问题
这可能非常简单,但我不明白出了什么问题。 作为背景,我将PreparedStatements 与模板查询一起使用以提高效率。我调用 setString(index, argument) 来填充模板的部
我有一个带有文本列的表格,我想搜索包含单词的所有行 String sql="Select text from MyTable where text REGEXP '[[::]]' myPrep
我尝试使用 SetString 将值设置为字符串,但是当我尝试通过 GetString() 获取它时,出现了一些随机输出。代码: someDoc[someObjKey].AddMember(someS
我有以下代码来设置默认值: int main() { try { sql::Driver *driver; sql::Connection *con;
我是通过 tableView 创建的字体列表,当用户选择任何单元格时,字体字符串应该根据单元格进行更改,但我不知道为什么我的代码不起作用!我的 tableview 使用 UIPopOverViewCo
我有一个包含六个“?”的准备好的声明在里面。并且在所有地方都将替换为相同的字符串。 应该首选以下两种方法中的哪一种: pstmt = con.prepareStatement(QUERY.replac
我正在尝试在 cocos2d-x 中设置标签的值。如果我将它们添加到字符串的开头或结尾,它不会显示空格,例如 label->setString("10 10"); 正常工作。但是如果我使用 label
我有一个 Java 应用程序,对通过网络接收的 UTF-8 编码的 String 进行解码,并将其保存到我的数据库 (SQL Server 2000) 中的 varchar 列中。我使用 JDBC 的
我们以这种方式使用 SqlDataRecord(为清楚起见,只显示了一个字段): SqlMetaData[] metaData = new SqlMetaData[1]; metaData[0] =
我遇到了以下代码,我觉得它做错了: (请注意,这是 JDK 1.4.2,因此未输入列表) StringBuffer queryBuffer = new StringBuffer(); ArrayLis
如标题所示:可以肯定的是,我正在调试我的应用程序,因此在我将字符串放入 PreparedStatement 变量的地方,特殊字符变为“?”。我实际上不知道在哪里搜索应该修复它的东西,所以我不知道是否需
这个问题在这里已经有了答案: Using Prepared Statements to set Table Name (8 个答案) 关闭 9 年前。 我正在尝试使用具有类似于以下代码的 Prepa
我是 Cocoa 的新手,我遇到了一个绝对令人抓狂的问题。我正在尝试将一个简单的 NSString 写入 NSTextView,但由于某种原因它不会响应。没有编译器警告,没有运行时错误,只是一个空白的
我是一名优秀的程序员,十分优秀!