为什么我会得到;java.awt.event.ActionEvent“;尝试验证用户名和密码时出错?
我正在创建一个连接到SQLite数据库的简单登录屏幕。连接正在100%工作 但是,当我尝试在登录屏幕上验证用户名和密码时,会出现“java.awt.event.ActionEvent”错误 我把代码修改了好几次,都没发现问题为什么我会得到;java.awt.event.ActionEvent“;尝试验证用户名和密码时出错?,java,eclipse,Java,Eclipse,我正在创建一个连接到SQLite数据库的简单登录屏幕。连接正在100%工作 但是,当我尝试在登录屏幕上验证用户名和密码时,会出现“java.awt.event.ActionEvent”错误 我把代码修改了好几次,都没发现问题 package Tutorial3; import java.awt.EventQueue; import java.sql.*; import javax.swing.*; import java.awt.event.ActionListener; import jav
package Tutorial3;
import java.awt.EventQueue;
import java.sql.*;
import javax.swing.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class Login {
private JFrame frame;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Login window = new Login();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
Connection connection = null;
private JTextField txtlogin;
private JPasswordField pswsenha;
/**
* Create the application.
*/
public Login() {
initialize();
connection = sqliteConnection.dbConnector();
}
/**
* Initialize the contents of the frame.
*/
private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 247, 210);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
JLabel lbllogin = new JLabel("LOGIN");
lbllogin.setBounds(10, 20, 48, 14);
frame.getContentPane().add(lbllogin);
JLabel lblsenha = new JLabel("SENHA");
lblsenha.setBounds(10, 68, 48, 14);
frame.getContentPane().add(lblsenha);
txtlogin = new JTextField();
txtlogin.setBounds(82, 11, 142, 33);
frame.getContentPane().add(txtlogin);
txtlogin.setColumns(10);
pswsenha = new JPasswordField();
pswsenha.setEchoChar('•');
pswsenha.setBounds(82, 65, 142, 33);
frame.getContentPane().add(pswsenha);
JButton btnconfirmar = new JButton("Confirmar");
btnconfirmar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
String query="select * from employeeinfo where username=? and password=? ";
PreparedStatement pst=connection.prepareStatement(query);
pst.setString(1,txtlogin.getText() );
pst.setString(2,pswsenha.getText() );
ResultSet rs=pst.executeQuery();
int count=0;
while(rs.next()) {
count=count+1;
}
if(count==1)
{
JOptionPane.showMessageDialog(null, "Username and Password is correct");
}
else if(count>1) {
JOptionPane.showMessageDialog(null, "Duplicate Username and Password");
}
else {
JOptionPane.showMessageDialog(null, "Username and Password is not correct. Try again.");
}
rs.close();
pst.close();
}catch(Exception ex)
{
ex.printStackTrace();
}
}
});
btnconfirmar.setBounds(10, 120, 214, 38);
frame.getContentPane().add(btnconfirmar);
}
}
org.sqlite.SQLiteException:[sqlite\u ERROR]SQL错误或缺少数据库(没有这样的表:employeeinfo)
在sqlite。jdbc@3.30.1/org.sqlite.core.DB.newSQLException(DB.java:941)
在sqlite。jdbc@3.30.1/org.sqlite.core.DB.newSQLException(DB.java:953)
在sqlite。jdbc@3.30.1/org.sqlite.core.DB.throwex(DB.java:918)
在sqlite。jdbc@3.30.1/org.sqlite.core.NativeDB.prepare\u utf8(本机方法)
在sqlite。jdbc@3.30.1/org.sqlite.core.NativeDB.prepare(NativeDB.java:134)
在sqlite。jdbc@3.30.1/org.sqlite.core.DB.prepare(DB.java:257)
在sqlite。jdbc@3.30.1/CorePreparedStatement.java:47
在sqlite。jdbc@3.30.1/JDBC3PreparedStatement.(JDBC3PreparedStatement.java:30)
在sqlite。jdbc@3.30.1/JDBC4PreparedStatement.(JDBC4PreparedStatement.java:19)
在sqlite。jdbc@3.30.1/org.sqlite.jdbc4.JDBC4Connection.prepareStatement(JDBC4Connection.java:35)
在sqlite。jdbc@3.30.1/org.sqlite.jdbc3.JDBC3Connection.prepareStatement(JDBC3Connection.java:241)
在sqlite。jdbc@3.30.1/org.sqlite.jdbc3.JDBC3Connection.prepareStatement(JDBC3Connection.java:205)
登录时$2.actionPerformed(Login.java:73)
在java.desktop/javax.swing.AbstractButton.fireActionPerformed上(AbstractButton.java:1967)
位于java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
在java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed上(DefaultButtonModel.java:405)
在java.desktop/javax.swing.DefaultButtonModel.setPressed中(DefaultButtonModel.java:262)
在java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
位于java.desktop/java.awt.Component.ProcessMouseeEvent(Component.java:6632)
位于java.desktop/javax.swing.JComponent.ProcessMouseeEvent(JComponent.java:3342)
位于java.desktop/java.awt.Component.processEvent(Component.java:6397)
位于java.desktop/java.awt.Container.processEvent(Container.java:2263)
位于java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5008)
位于java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
位于java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)
位于java.desktop/java.awt.LightweightDispatcher.RetargetMouseeEvent(Container.java:4918)
位于java.desktop/java.awt.LightweightDispatcher.ProcessMouseeEvent(Container.java:4547)
位于java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
位于java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
位于java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)
位于java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)
位于java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
位于java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
位于java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
位于java.base/java.security.AccessController.doPrivileged(本机方法)
位于java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
位于java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
位于java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
位于java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
位于java.base/java.security.AccessController.doPrivileged(本机方法)
位于java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
位于java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
位于java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
位于java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
位于java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
位于java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
位于java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
位于java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
用英语阅读这篇文章会有很大帮助。@s.fuhrm我用英语写了这篇文章,如果它不好,很抱歉1)总是在
catch
block/SEMPRE imprima o stack trace em um blococatch
(ex.printStackTrace();
)| 2)catch(异常e2)
但是/masshowMessageDialog(null,e);
?它应该显示/deve mostrare2
,而不是事件/e não eventoe
3)我建议使用两个字母作为变量名/considere usar nomes com duas letras para essas variáveis(例如事件/para evento的ev;例外情况的ex)| | 4)对于葡萄牙语/葡萄牙语(menos frequentado)Rafael,在catch块中,请将异常输出到控制台:e2.printStackTrace();-那么我们可以更好地帮助你。
org.sqlite.SQLiteException: [SQLITE_ERROR] SQL error or missing database (no such table: employeeinfo)
at sqlite.jdbc@3.30.1/org.sqlite.core.DB.newSQLException(DB.java:941)
at sqlite.jdbc@3.30.1/org.sqlite.core.DB.newSQLException(DB.java:953)
at sqlite.jdbc@3.30.1/org.sqlite.core.DB.throwex(DB.java:918)
at sqlite.jdbc@3.30.1/org.sqlite.core.NativeDB.prepare_utf8(Native Method)
at sqlite.jdbc@3.30.1/org.sqlite.core.NativeDB.prepare(NativeDB.java:134)
at sqlite.jdbc@3.30.1/org.sqlite.core.DB.prepare(DB.java:257)
at sqlite.jdbc@3.30.1/org.sqlite.core.CorePreparedStatement.<init>(CorePreparedStatement.java:47)
at sqlite.jdbc@3.30.1/org.sqlite.jdbc3.JDBC3PreparedStatement.<init>(JDBC3PreparedStatement.java:30)
at sqlite.jdbc@3.30.1/org.sqlite.jdbc4.JDBC4PreparedStatement.<init>(JDBC4PreparedStatement.java:19)
at sqlite.jdbc@3.30.1/org.sqlite.jdbc4.JDBC4Connection.prepareStatement(JDBC4Connection.java:35)
at sqlite.jdbc@3.30.1/org.sqlite.jdbc3.JDBC3Connection.prepareStatement(JDBC3Connection.java:241)
at sqlite.jdbc@3.30.1/org.sqlite.jdbc3.JDBC3Connection.prepareStatement(JDBC3Connection.java:205)
at Login$2.actionPerformed(Login.java:73)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6632)
at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
at java.desktop/java.awt.Component.processEvent(Component.java:6397)
at java.desktop/java.awt.Container.processEvent(Container.java:2263)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5008)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)