代码之家  ›  专栏  ›  技术社区  ›  PeterMmm

JDBC和MS访问问题

  •  1
  • PeterMmm  · 技术社区  · 16 年前

    where子句没有数据。

    这个例子很好:

    PreparedStatement stm = con.prepareStatement("SELECT A.* FROM A");
    ResultSet rs = stm.executeQuery();
    rs.next();
    

    下一个示例不获取行:

    PreparedStatement stm = con.prepareStatement("SELECT A.* FROM A WHERE (((A.Name) LIKE ?))");
    stm.setString(1,"*");
    ResultSet rs = stm.executeQuery();
    rs.next();
    

    我不知道错误在哪里:在驱动程序中还是在sql语法中。

    sql语句取自MSAccess中的查询生成器。

    where子句中稍微复杂一点的所有内容都很难理解。是否有任何关于MSAccess的sql语法的文档?

    更新

    2 回复  |  直到 16 年前
        1
  •  1
  •   Bobby    16 年前

    要使like语句起作用,必须将参数设置在%:

    PreparedStatement stm = con.prepareStatement("SELECT A.* FROM A WHERE (((A.Name) LIKE ?))");
    stm.setString(1,"%like text%");
    
        2
  •  0
  •   Henning    16 年前

    您是说SQL通配符“%”而不是“*”,还是说您实际上是在寻找字符“*”?

    推荐文章