我必须使用SQL-Statement中的哪个通配符进行Access * .mdb文件查询(使用Java& JDBC:ODBC桥)

时间:2012-11-07 14:23:26

标签: java ms-access jdbc

我尝试执行以下SQL语句(在我的Java应用程序中):

SELECT * FROM Tbl_Job WHERE jobname LIKE '%aa%';

但是我无法使用MS Access(2002)得到相同的(正确的?)结果:

SELECT * FROM Tbl_Job WHERE jobname LIKE '*aa*';

通过这个例子,Access将为我提供400个数据集,而我的Java应用程序只会给我一点点我不知道数据集的确切数量。

我尝试在我的Java应用程序中使用[*] - 通配符,但它根本没有给我任何数据集。 此外,我试图用[“]字符替换[']字符,但这也不起作用。

我不知道这是否相关,但我认为* .mdb文件是使用MS Access(2000)创建的

我的Java代码:

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection connection = DriverManager.getConnection("jdbc:odbc:_
                        Driver={Microsoft Access Driver_
                        (*.mdb)};DBQ=C:\database.mdb");
Statement stm = connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
                ResultSet.CONCUR_READ_ONLY);
ResultSet rs = stm.executeQuery(sql);
while(rs.next())
    do_some_stuff();

1 个答案:

答案 0 :(得分:3)

建议您从Java和直接在Access中尝试此SQL语句。

SELECT Count(*) AS num_rows FROM Tbl_Job WHERE jobname ALike '%aa%';

如果num_rows在两种情况下都相同,请更改第一个查询中的WHERE子句以匹配此子句。

如果num_rows在两种情况下都不相同,请说明它们有何不同,哪些是正确的。