@TestJava.java@
/*
*登录框的界面设置(连接到数据库查询是否存在)
*/
package javadb;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.FlowLayout;
import javax.swing.*;
public class TestJava extends JFrame{
JFrame jf = new JFrame("信息录入窗口");
JPanel jp = new JPanel();
JLabel l_name = new JLabel("姓名:");
JLabel l_password = new JLabel("口令:");
static JTextField t_name = new JTextField(10);
static JPasswordField t_password = new JPasswordField(10);
JButton ok = new JButton("ok");
JButton cancel = new JButton("cancel");
public TestJava()
{
jp.add(l_name);jp.add(t_name);
jp.add(l_password);jp.add(t_password);
jp.add(ok);jp.add(cancel);
jf.add(jp);
//事件OK按钮监听
ok.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
check();
}
});
//事件Cancel按钮监听
cancel.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
System.exit(0);
}
});
//jf.setLayout(new FlowLayout(FlowLayout.LEFT));
jf.setVisible(true);
//jf.setResizable(false);
jf.setSize(200, 150);
jf.setDefaultCloseOperation(jf.EXIT_ON_CLOSE);
jf.setLocation(500,270);
}
public static void check()
{
if(t_name.getText().equals(""))
JOptionPane.showMessageDialog(null, "请输入用户名!", "error",JOptionPane.ERROR_MESSAGE);
else if(t_password.getPassword().equals(""))
JOptionPane.showMessageDialog(null, "请输入密码!", "error",JOptionPane.ERROR_MESSAGE);
else
new DbJava().queryByName(t_name.getText(),t_password.getPassword());
}
public static void main(String[] args)
{
new TestJava();
}
}
@DbJava.java@
/*
* 数据库连接
*/
package javadb;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
public class DbJava {
private static Connection connDB()throws SQLException{
try {
Class.forName("com.mysql.jdbc.Driver");
}
catch (ClassNotFoundException e)
{
e.printStackTrace();
}
Connection conn=null;
conn=DriverManager.getConnection(
"jdbc:mysql://localhost:3306/user?useUnicode=true&characterEncoding=UTF-8","root","111");
return conn;
}
/*
* 查询此用户是否存在
* 按用户名和密码查询
*/
public void queryByName(String name,char[] password)
{
String pwd = String.valueOf(password);
String sql = "select * from user_info where u_name = '" + name + "' and u_password = '" + pwd + "' ";
Connection conn = null;
Statement st = null;
ResultSet rs = null;
try
{
conn = connDB();
st = conn.createStatement();
rs = st.executeQuery(sql);
if(!rs.next())
JOptionPane.showMessageDialog(null, "此用户不存在或密码错误!", "error",JOptionPane.ERROR_MESSAGE);
else
JOptionPane.showMessageDialog(null, "下一步的操作", "Next",JOptionPane.YES_OPTION);
}
catch(SQLException e)
{
System.out.print("Exception" + e.getMessage());
}
}
}
@附加:@
Java里SQL语句还可以这样写:String sql = String.format("select * from user_info where u_name = %s
and u_password = %s ",name,password);
String sql = "select * from user_info where u_name = ' " + name + " ' and u_password = ' " +
password + " ' ";