Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.sql.SQLException对空结果集的非法操作_Java - Fatal编程技术网

java.sql.SQLException对空结果集的非法操作

java.sql.SQLException对空结果集的非法操作,java,Java,请帮助我:这是一个代码示例。 每次我按下登录按钮,它都会给我java.sql.sqlexpetion对空结果集的非法操作 登录按钮的代码: private void loginBtnActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: con = DatabaseConnect

请帮助我:这是一个代码示例。 每次我按下登录按钮,它都会给我java.sql.sqlexpetion对空结果集的非法操作

登录按钮的代码:

 private void loginBtnActionPerformed(java.awt.event.ActionEvent evt) {                                         
    // TODO add your handling code here:

    con = DatabaseConnection.DBConnect();
    String sql = "SELECT * FROM user_table WHERE user_name = ? AND user_pass = ?";

    try
    {
        getPrivilege(username_Textfield.getText());

        prepStat = con.prepareStatement(sql);
        prepStat.setString(1, username_Textfield.getText());
        prepStat.setString(2,password_Textfield.getText());
        rs = prepStat.executeQuery();

        if(rs.next())
        {
            if (isAdmin == true)
            {
                JOptionPane.showMessageDialog(null,"Login Successful");
                mainDashboard mD = new mainDashboard();
                mD.setVisible(true);
                mD.setPrivilege(isAdmin);
                dispose();


            }else if(isAdmin == false)
            {
                JOptionPane.showMessageDialog(null,"Login Successful");
                userDashboard uD= new userDashboard();
                uD.setVisible(true);
                uD.setPrivilege(isAdmin);
                dispose();
            }

        }else
        {


                JOptionPane.showMessageDialog(null,"The username or password is incorrect","Access Denied", JOptionPane.ERROR_MESSAGE);
                username_Textfield.setBackground(Color.red);
                password_Textfield.setBackground(Color.red);
        }





    }catch(Exception e)
    {
        JOptionPane.showMessageDialog(null, e);
    }


}                                        
连接类的代码: 这里的代码是用于DB连接的,我有一个名为user的表,它由user\u id、user\u name、user\u pass、emp\u id组成。所有这些都设置为NOTNULL

package guest_house;

//imports needed for the classs

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.PreparedStatement;
import javax.swing.JOptionPane;


 /**
 *
 * @author POWER
 */
public class DatabaseConnection {



public static Connection DBConnect()
{
    Connection con = null;
    PreparedStatement preStat = null;
    ResultSet rs = null;

    try
    {
        Class.forName("com.mysql.jdbc.Driver");
        con = DriverManager.getConnection("jdbc:mysql://localhost:3306/guest_house?","root","");
        return con;
    }
    catch(Exception e)
    {
        JOptionPane.showMessageDialog(null, e);
        return null;
    }
}



}
列的名称是user\u id、user\u name、user\u pass、emp\u id,表的名称是user。但是您的sql语句使用userName、userPass和users单词。必须按如下方式更改sql语句:

"SELECT * FROM user WHERE user_name =? AND user_pass=?"

异常发生在哪一行?它没有告诉我异常在哪里抱歉,我现在编辑了这篇文章,我复制了错误的代码。请再修改一次给我反馈你的桌子叫什么名字?用户或用户表?表名为用户表。只有当我单击“登录”按钮而没有任何凭证时,才会弹出此异常数据库的名称是什么?是宾馆吗?或宾馆