PreparedStatement
在使用该类的以下 SQL 查询中:
String query_descrip = "insert into timitemdescription (itemkey, languageid, longdesc, shortdesc) values (?, 1033, ?,?)";
PreparedStatement pstmt2 = con.prepareStatement(query_descrip);
pstmt2.setInt(1, rs4);
pstmt2.setString(2, itemdescription);
pstmt2.setString(3, itemdescription.substring(0,39));
pstmt2.executeUpdate();
我有时会在我的项目描述中得到撇号和单引号和双引号。例如,我最近的一个项目是“Planar 22”监视器”。当然,字符串被误解了,认为描述值只是“Planar 22”。处理字符串中特殊字符的最佳方法是什么?
我读过有些人正在使用正则表达式,但是这些似乎是针对具体情况的。我正在研究的另一种方法是逐字符读取字符串数组。我希望有一种更有效、资源更少的方式来做到这一点。
更新在一些更广泛的测试之后,事实证明我的代码中出现了更多问题。这也是一个 URL 编码问题。当jsp代码填充html表单时,它会尝试将描述字段移动到在线表单,它会在表单而不是查询中截断它。jTDS 还纠正了接收特殊字符的问题。因为 jTDS 是一个 jar,它还有助于避免重新启动机器。我将奖励 jTDS 线程,因为那是我部分使用的。
提前致谢