Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中用一个或多个单词搜索整个数据库_Java_C++_Sql_Swing_Search - Fatal编程技术网

在java中用一个或多个单词搜索整个数据库

在java中用一个或多个单词搜索整个数据库,java,c++,sql,swing,search,Java,C++,Sql,Swing,Search,为了防止sql注入,我试图避免使用WHERE姓氏,如“search_txt.getText()”。。。但是,使用preparedStatement是否会离开?空白,换句话说,即使在文本字段中输入了正确的搜索值,sql语句也无法执行…行pst1.setString(1,search_txt.getText()+“%”中有什么问题 对于像这样的全文搜索引擎来说,这是一个很好的用例。使用MySQL最简单的方法是使用全文搜索。正如您所说,它不搜索“整个sql数据库”,但它可以搜索很多列。这很有效 语法与

为了防止sql注入,我试图避免使用
WHERE姓氏,如“search_txt.getText()”
。。。但是,使用
preparedStatement
是否会离开?空白,换句话说,即使在文本字段中输入了正确的搜索值,sql语句也无法执行…行
pst1.setString(1,search_txt.getText()+“%”中有什么问题


对于像

这样的全文搜索引擎来说,这是一个很好的用例。使用MySQL最简单的方法是使用
全文
搜索。正如您所说,它不搜索“整个sql数据库”,但它可以搜索很多列。这很有效

语法与您习惯的有点不同。这可能对你有用

SELECT Title, Forename, Surname, Role 
  FROM AcademicInfo 
 WHERE MATCH(Surname, Forename) AGAINST('searchterm' IN BOOLEAN MODE)
我将让您将SQL语句调整为Java

这是文件


欢迎SQL注入攻击。使用预先准备好的语句,而不是自己搞乱字符串@我知道,这只是一个想法。其他人可能会偶然发现这个问题,然后认为这是正确的做法。最好避免在任何地方发布的每个代码片段中出现此类错误,这样人们就不会看到不好的代码,而不解释它为什么不好以及如何做得更好。@Anony Mousse编辑过但新的问题我在布尔模式下使用了
,因为全文搜索在小数据集上工作异常。实际上,您可能需要自然语言搜索。阅读documentation.java不喜欢与
sql=“从AcademicInfo中选择标题、名字、姓氏、角色,其中匹配(名字、姓氏、角色、房间、电子邮件)与(?在布尔模式下)”;PreparedStatement pst1=conn.prepareStatement(sql);ResultSet rs2=pst1.executeQuery();如果(rs2.next()){pst.setString(1,search_txt.getText());
SQlite是否支持全文?全文仅是MySQL功能。
SELECT Title, Forename, Surname, Role 
  FROM AcademicInfo 
 WHERE MATCH(Surname, Forename) AGAINST('searchterm' IN BOOLEAN MODE)