gpt4 book ai didi

java - 使用java通过使用Microsoft Access数据库中的部分行来搜索数据

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:32:00 25 4
gpt4 key购买 nike

我有这张 table

enter image description here

我正在使用以下代码从我的表中检索数据返回所有它的库尔德语单词包含 los 的英语单词

targetText="بةرز";
try (PreparedStatement ps = conn.prepareStatement(
"SELECT English,Kurdish FROM Info " +
"WHERE Kurdish = ? " +
"OR REGEXP_MATCHES(Kurdish, ?) " +
"OR REGEXP_MATCHES(Kurdish, ?) " +
"OR REGEXP_MATCHES(Kurdish, ?) ")) {
ps.setString(1, targetText);
ps.setString(2, "^[. ]*" + targetText+ "[ ]*[:،,]+[ .]*$");
ps.setString(3, "^[. ]*[:،,]+[ ]*" + targetText+ "[. ]*$");
ps.setString(4, "^[. ]*[:،,]+[ ]*" + targetText+ "[ ]*[:،,]+[ .]*$");
try (ResultSet rSet = ps.executeQuery()) {
while (rSet.next()) {
System.out.println(rSet.getString("English"));
System.out.println(rSet.getString("Kurdish"));
}
}
}

所以它工作正常,它打印了我想要的所有英文单词。
我的问题是,当我得到相应的库尔德语单词时,它不会打印完整的单元格。它只打印 ب⑩رò,

例如,前面代码的输出应该是:

aesthete
بةرز ، جوانىثةرست
aether
زوَر ناسك ، بةرز ، ثيروَز ، ئاسمانى
affair
بةرز

但是它打印

aesthete
بةرز
aether
بةرز
affair
بةرز

我该怎么做才能得到我想要的输出?

请注意,我正在使用 UCanAccess 进行数据库连接,

最佳答案

所有的坦克,我只是在正则表达式中做了一些改变就解决了这个问题

targetText="بةرز";
try (PreparedStatement ps = conn.prepareStatement(
"SELECT English,Kurdish FROM Info " +
"WHERE Kurdish = ? " +
"OR REGEXP_MATCHES(Kurdish, ?) " +
"OR REGEXP_MATCHES(Kurdish, ?) " +
"OR REGEXP_MATCHES(Kurdish, ?) ")) {
ps.setString(1, targetText);
ps.setString(2, "^" + targetText+ "[ ]*(،)[.]*");
ps.setString(3, "[.]*(،)[ ]*" + targetText+ "$");
ps.setString(4, "[.]*(،)[ ]*" + targetText+ "[ ]*(،)[.]*");
try (ResultSet rSet = ps.executeQuery()) {
while (rSet.next()) {
System.out.println(rSet.getString("English"));
System.out.println(rSet.getString("Kurdish"));
}
}
}

关于java - 使用java通过使用Microsoft Access数据库中的部分行来搜索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33306100/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com