JSP SQL Server结果集始终返回空



我正在对SQL Server数据库进行两个查询,第一个查询返回带有数据的结果集,但是第二个查询始终将结果集返回空置。如果我在SQL Server中进行查询,则可以做得很好。我试图进行另一个查询:SELECT TOP 10 * FROM TABLE并始终返回空。

 <%
    String url,ssql;
    int i,j,k;
    int reg[]=new int[256];
    try{
        Class.forName("com.microsofto.sqlserver.jdbc.SQLServerDriver");
        url="jdbc:sqlserver://localhost/;databaseName=acsc;user=user;password=1234";
        Connection conn = DriverManager.getConnection(url);
        Statement stc = conn.createStatement();
        ssql="SELECT Nombre,max(Registro) FROM Tabla Group by Nombre order by Nombre";
        ResultSet rsc= stc.executeQuery(ssql);
        i=1;
        while(rsc.next()){
            reg[i]=rsc.getInt(2);
            i++;
        }
        j=0;
        do{
            //ssql="SELECT * FROM Tabla Where     Registro="+String.valueOf(reg[j]);
            ssql="SELECT TOP 10 * FROM Tabla";
            rsc= stc.executeQuery(ssql);
            if(!(rsc.getRow()==0)){
                out.println(rsc.getString(1)+" "+rsc.getString(2)+" "+rsc.getString(3));    
            }else{
                out.println("vacio");
            }
            j++;
        }while(j<i);
    }catch(SQLException se){
        out.println(se.toString()); 
    }
%>

您的代码有两个问题。您需要修复的唯一一个是您不使用SQL查询中的参数。参见

public static void executeStatement(Connection con) {
    try(PreparedStatement pstmt = con.prepareStatement("SELECT LastName, FirstName FROM Person.Contact WHERE LastName = ?");) {
        pstmt.setString(1, "Smith");
        ResultSet rs = pstmt.executeQuery();
        while (rs.next()) {
            System.out.println(rs.getString("LastName") + ", " + rs.getString("FirstName"));
        }
    }
    // Handle any errors that may have occurred.
    catch (SQLException e) {
        e.printStackTrace();
    }
}

使用参数使用SQL语句

感谢您的回复,很抱歉以前没有回复。我尝试使用准备量,但是结果集一直空返回。我终于找到了我有问题的地方,如果!(rsc.getrow((== 0((始终返回0,即使重置设置有记录。我已经删除了该程序的一部分,并且在rsc.next((((时都放置了。我的代码第二个问题是什么?谢谢问候

最新更新