java.sql.SQLException对空结果集的非法操作
请帮助我:这是一个代码示例。 每次我按下登录按钮,它都会给我java.sql.sqlexpetion对空结果集的非法操作 登录按钮的代码:java.sql.SQLException对空结果集的非法操作,java,Java,请帮助我:这是一个代码示例。 每次我按下登录按钮,它都会给我java.sql.sqlexpetion对空结果集的非法操作 登录按钮的代码: private void loginBtnActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: con = DatabaseConnect
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=?"
异常发生在哪一行?它没有告诉我异常在哪里抱歉,我现在编辑了这篇文章,我复制了错误的代码。请再修改一次给我反馈你的桌子叫什么名字?用户或用户表?表名为用户表。只有当我单击“登录”按钮而没有任何凭证时,才会弹出此异常数据库的名称是什么?是宾馆吗?或宾馆