很抱歉, 我的问题描述错了. 应该是这样的:
当直接用select top 10 * from cus where cus_no like 'CM%'查询时
可以查询到记录, 但将'CM%'换成? 就查询不到记录, 请高人指教!!!
源代码如下:
import java.sql.*;
public class JdbcTest{ public static void main(String[] args) throws Exception{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con = DriverManager.getConnection( "jdbc:odbc:ikari","123", "123");
String sql = "select top 10 * from cus where"+ " cus_no like ?";//'CM%'"; //String sql = "select top 10 datename(m, date)"+ " from bsr"; PreparedStatement pstmt = con.prepareStatement(sql);
pstmt.setString(1, "CM%");
ResultSet rs = pstmt.executeQuery(); while (rs.next()){ System.out.println(rs.getObject(1)); } } }
|
另外我不碰到一个问题:下面的语句
select top 10 datename(m, date) from bsr 直接通过数据库查询可得
到10条记录, 在程序中通过Jdbc/Odbc查询也可得到10条记录但
记录中的结果却全为null, 见上面注释掉的代码,
这是为什么呢???