import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.sql.*;class LoginFrm extends JFrame implements ActionListener// throws Exception
{
JLabel lbl1=new JLabel("用户名");
JLabel lbl2=new JLabel("密码");
JTextField txt=new JTextField(15);
JPasswordField pf=new JPasswordField();
JButton btn1=new JButton("确定");
JButton btn2=new JButton("取消");public LoginFrm()
{
this.setTitle("登陆");
JPanel jp=(JPanel)this.getContentPane();
jp.setLayout(new GridLayout(3,2,10,10));
jp.add(lbl1);jp.add(txt);
jp.add(lbl2);jp.add(pf);
jp.add(btn1);jp.add(btn2);
btn1.addActionListener(this);
btn2.addActionListener(this);
}public void actionPerformed(ActionEvent ae)
{
if(ae.getSource()==btn1)
{
try
{
Class.forName("com.mysql.jdbc.Driver");//mysql数据库
Connection con=DriverManager.getConnection("jdbc:mysql://localhost/cyimpression","root","");//数据库名为cyimpression,密码为空
Statement cmd=con.createStatement();
ResultSet rs=cmd.executeQuery("select * from register where username='"+txt.getText()+"' and password2='"+pf.getText()+"'");//表名为register,username和password2是存放用户名和密码的字段名
if(rs.next())
{
JOptionPane.showMessageDialog(null,"登陆成功!");
}
else
JOptionPane.showMessageDialog(null,"用户名或密码错误!");
} catch(Exception ex){}if(ae.getSource()==btn2)
{
txt.setText("");
pf.setText("");
}
}
}public static void main(String arg[])
{
JFrame.setDefaultLookAndFeelDecorated(true);
LoginFrm frm=new LoginFrm();
frm.setSize(400,200);
frm.setVisible(true);
}
}
输入数据库中包含的正确的用户名和密码后点击确定,没有任何反应。应该是连接数据库的问题,我之前做php连接mysql是可以用的,
是不是java连接还要装什么驱动,有没有不装的做法,有的话怎么修改,没有的话,具体怎么操作装驱动。
顺便帮忙看下还有其他什么问题没有。主要是连接mysql数据库方面。麻烦了,谢谢!
import javax.swing.*;
import java.awt.event.*;
import java.sql.*;class LoginFrm extends JFrame implements ActionListener// throws Exception
{
JLabel lbl1=new JLabel("用户名");
JLabel lbl2=new JLabel("密码");
JTextField txt=new JTextField(15);
JPasswordField pf=new JPasswordField();
JButton btn1=new JButton("确定");
JButton btn2=new JButton("取消");public LoginFrm()
{
this.setTitle("登陆");
JPanel jp=(JPanel)this.getContentPane();
jp.setLayout(new GridLayout(3,2,10,10));
jp.add(lbl1);jp.add(txt);
jp.add(lbl2);jp.add(pf);
jp.add(btn1);jp.add(btn2);
btn1.addActionListener(this);
btn2.addActionListener(this);
}public void actionPerformed(ActionEvent ae)
{
if(ae.getSource()==btn1)
{
try
{
Class.forName("com.mysql.jdbc.Driver");//mysql数据库
Connection con=DriverManager.getConnection("jdbc:mysql://localhost/cyimpression","root","");//数据库名为cyimpression,密码为空
Statement cmd=con.createStatement();
ResultSet rs=cmd.executeQuery("select * from register where username='"+txt.getText()+"' and password2='"+pf.getText()+"'");//表名为register,username和password2是存放用户名和密码的字段名
if(rs.next())
{
JOptionPane.showMessageDialog(null,"登陆成功!");
}
else
JOptionPane.showMessageDialog(null,"用户名或密码错误!");
} catch(Exception ex){}if(ae.getSource()==btn2)
{
txt.setText("");
pf.setText("");
}
}
}public static void main(String arg[])
{
JFrame.setDefaultLookAndFeelDecorated(true);
LoginFrm frm=new LoginFrm();
frm.setSize(400,200);
frm.setVisible(true);
}
}
输入数据库中包含的正确的用户名和密码后点击确定,没有任何反应。应该是连接数据库的问题,我之前做php连接mysql是可以用的,
是不是java连接还要装什么驱动,有没有不装的做法,有的话怎么修改,没有的话,具体怎么操作装驱动。
顺便帮忙看下还有其他什么问题没有。主要是连接mysql数据库方面。麻烦了,谢谢!
解决方案 »
- 自定义标签问题--标签嵌套问题--编译正确,结果不对
- java简单图形的问题
- 看过Think in java(4th edtion)的请进
- 我用的是 MyEclipse5.0 ,在它里面运行很好的Java类:MyExcel.java,放在dos下面用 java MyExcel 时就报错,这是为什么啊?
- 汉明码?
- 把web application打包war的时候,有什么办法让jbuilder不用重新编译没有修改过的jsp文件?(
- jws中如何实现签名
- .class如何防止反编译?
- 对高手来说简直不算问题,可对我就比较难了,狂给分!
- JDBC取数据库数据List中的对象的属性顺序乱了
- 关于java变量不能重复覆盖吗??
- 嵌套if语句 下标越界
用的是固定的用户名密码,但原理是一样的(不想再建表)。
if(ae.getSource()==btn2)与if(ae.getSource()==btn1)是平等的不能写在里面
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.sql.*;public class LoginFrm extends JFrame implements ActionListener// throws Exception
{
JLabel lbl1=new JLabel("用户名");
JLabel lbl2=new JLabel("密码");
JTextField txt=new JTextField(15);
JPasswordField pf=new JPasswordField();
JButton btn1=new JButton("确定");
JButton btn2=new JButton("取消");public LoginFrm()
{
this.setTitle("登陆");
JPanel jp=(JPanel)this.getContentPane();
jp.setLayout(new GridLayout(3,2,10,10));
jp.add(lbl1);jp.add(txt);
jp.add(lbl2);jp.add(pf);
jp.add(btn1);jp.add(btn2);
btn1.addActionListener(this);//2按钮就接收鼠标事件
btn2.addActionListener(this);
}public void actionPerformed(ActionEvent ae)//事件发生机制
{
if(ae.getSource()==btn1)
{
/* try
{
Class.forName("com.mysql.jdbc.Driver");//mysql数据库
Connection con=DriverManager.getConnection("jdbc:mysql://localhost/cyimpression","root","");//数据库名为cyimpression,密码为空
Statement cmd=con.createStatement();
ResultSet rs=cmd.executeQuery("select * from register where username='"+txt.getText()+"' and password2='"+pf.getText()+"'");//表名为register,username和password2是存放用户名和密码的字段名
if(rs.next())
{
JOptionPane.showMessageDialog(null,"登陆成功!");
}
else
JOptionPane.showMessageDialog(null,"用户名或密码错误!");
} catch(Exception ex){}
*/
String s1=txt.getText();
String s2=pf.getText();
if(s1.equals("admin")&&s2.equals("admin")){
JOptionPane.showMessageDialog(null,"登陆成功!");
}else{
JOptionPane.showMessageDialog(null,"用户名或密码错误!");
}
}
if(ae.getSource()==btn2)
{
txt.setText("");
pf.setText("");
}
}public static void main(String arg[])
{
JFrame.setDefaultLookAndFeelDecorated(true);
LoginFrm frm=new LoginFrm();
frm.setSize(400,200);
frm.setVisible(true);
}
}