有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

sql使用java在access表中搜索值

我的数据库中有一个表,我称之为Sender table,当我想打印字段的内容时,它会给我这个错误

java-sql-sqlexception [microsoft][odbc-driver-manager] invalid cursor state

反正这是我的密码

        str = "SELECT * FROM Sender WHERE sender_PID= " + sender_PID + "";            
        try {
            rs = stmt.executeQuery (str);  
            System.out.println (rs.getInt ("sender_PID"));    

        } catch (Exception ex) {ex.printStackTrace ( );}

我真的很抱歉我的英语不好

database ( )
{
    try {

        Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
        conn = DriverManager.getConnection ("jdbc:odbc:DB");
        stmt = conn.createStatement (ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);

    } catch (Exception ex) {ex.printStackTrace();}
}

String checkSender (int sender_PID)
    {
        str = "SELECT sender_PID FROM Sender WHERE sender_PID= " + sender_PID + "";   

        try {           
            rs = stmt.executeQuery (str);                      
            while(rs.next())  
            {
                System.out.println (rs.getInt ("sender_PID"));
            }  

        } catch (Exception ex) {ex.printStackTrace ( );}     


        return "1";
    }

共 (1) 个答案

  1. # 1 楼答案

    您需要首先通过rs.next()将光标移动到第一条记录

    注意:你应该使用PreparedStatement来达到这个目的