JDBC连接数据库以后传参数的问题,哪位高手帮忙指点一下,很急。
这是我用JDBC-ODBC桥连接SQL Server2000的一段代码:
PreparedStatement pstmt=con.prepareStatement("Select * from 黑名单 where 姓名 like %?%");
pstmt.setString(1,name);
其中黑名单是数据库内的一个表,con是已经建立的与这个数据库的连接,我的目的是想建立一个模糊查询,但是这样抛出了一个Exception,查询无法进行。
后来我又想了一个办法,即将%直接加在name的首尾,譬如:如果name的值为'王五',则我将它处理为'%王五%'再查询,查询语句改为:
PreparedStatement pstmt=con.prepareStatement("Select * from 黑名单 where 姓名 like ?");
pstmt.setString(1,name);
这次不发生异常,但是却没有返回任何符合条件的行,而我用这个语句直接在SQL Server的查询分析器内却能够返回符合条件的行(实际上这样的行是存在的)。请问这是为什么??
怎样将like的参数正确的传入?