gpt4 book ai didi

java - 带有数字通配符的 UCanAccess Select 语句给出意外标记 : REGEXP_MATCHES required

转载 作者:行者123 更新时间:2023-11-30 06:34:17 24 4
gpt4 key购买 nike

我在访问中有一个查询,它似乎只适用于 * 通配符,但不适用于 # 通配符。

所以我想排除[Field1]中包含T[5位]的所有记录之前,我只是使用T*我在名为Query的访问中创建了一个查询并将其放入SQL设计中

查询1

Select [Field1], [Field2], [Table2].[Field3] from [Table1] 
LEFT JOIN [Table1] ON [Table1].[Field1] = [Table2].[Field1]
where [Field1] NOT LIKE "T*"

Java 代码

try(PreparedStatement s = conn.prepareStatement("Select [Field1], [Field2], [Field3] from [Query1] where [Field2] 
BETWEEN ? AND ?")){
s.setDate(1,java.sql.Date.valueOf(df.getValue()));
s.setDate(2,java.sql.Date.valueOf(dfEnd.getValue()));
try(ResultSet rs = s.executeQuery()){ .... etc etc}

这非常有效。

但是现在,我需要更具体,并使用 T##### 排除 field1 数据

所以我尝试更改保存在 Access 中的查询,如下所示:

查询1:

Select [Field1], [Field2], [Table2].[Field3] from [Table1] 
LEFT JOIN [Table1] ON [Table1].[Field1] = [Table2].[Field1]
where [Field1] NOT LIKE "T#####"

在 Access 中,这可以很好地提取查询,据我所知,Access 中没有任何问题。

但是如果我在 Java 中使用相同的代码,复制并粘贴,则会收到此错误:

UCAExc:::4.0.2 user lacks privilege or object not found: QUERY1

我尝试了压缩和修复,同样的错误。我将 T###### 更改回 T*,错误就消失了。

所以...我尝试通过直接访问表格来解决这个问题,所以在 Java 中我使用了

Java 代码:

 Select [Field1], [Field2], [Table2].[Field3] from [Table1] 
LEFT JOIN [Table1] ON [Table1].[Field1] = [Table2].[Field1]
where [Field1] NOT LIKE \"T####\" AND [Field2] BETWEEN ? AND ?")){
s.setDate(1,java.sql.Date.valueOf(df.getValue()));
s.setDate(2,java.sql.Date.valueOf(dfEnd.getValue()));
try(ResultSet rs = s.executeQuery()){ .... etc etc}

这一次,我明白

UCAExc:::4.0.2 unexpected token: REGEXP_MATCHES required:

我不确定从这里该去哪里。我的问题是为什么它不接受 ## 这是 UCanAccess 问题吗? java问题?权限问题?有解决办法吗?

最佳答案

我能够重现您的问题。在 UCanAccess 4.0.2 下,这有效:

SELECT * FROM Table1 WHERE Field1 LIKE "T#####"

但这失败了:

SELECT * FROM Table1 WHERE Field1 NOT LIKE "T#####"

但是,这个解决方法似乎没问题:

SELECT * FROM Table1 WHERE NOT (Field1 LIKE "T#####")

关于java - 带有数字通配符的 UCanAccess Select 语句给出意外标记 : REGEXP_MATCHES required,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45465750/

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