第二篇 javase与sql server实现交互登录界面

package login;

/*

*此代码是网上转载的

*步骤1 创建窗体以及布局大小

*步骤 2 添加事件监听器,文本监听和按钮监听

*步骤 3 sql server 2008做好连接前的准备(创建一个数据库,创建一个表,名称自定义),然后导入jdbc包,用java语言写好接口,以及创建与数据库连接的方法

*读者一定要仔细阅读并掌握这段代码,这个实例很重要很经典。一定要弄懂每层的含义。

*/

import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.beans.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;

import javax.swing.JButton;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

import com.microsoft.sqlserver.jdbc.SQLServerConnection;

public class LoginForm extends JFrame {

/**
* Launch the application
* @param args
*/
public static void main(String args[]) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
LoginForm frame = new LoginForm();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
* Create the frame
*/
public LoginForm() {
super();
getContentPane().setLayout(null);
setBounds(100, 100, 419, 308);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

final JLabel label = new JLabel();
label.setText("通讯录(测试版)");
label.setBounds(22, 25, 153, 38);
getContentPane().add(label);

final JLabel label_1 = new JLabel();
label_1.setText("账号:");
label_1.setBounds(53, 89, 53, 27);
getContentPane().add(label_1);

final JLabel label_2 = new JLabel();
label_2.setText("密码:");
label_2.setBounds(53, 144, 53, 27);
getContentPane().add(label_2);

final JTextField tf= new JTextField(10);

tf.setBounds(123, 89, 185, 27);
getContentPane().add(tf);

final JPasswordField ps= new JPasswordField(15);

ps.setBounds(125, 144, 183, 27);
getContentPane().add(ps);

final JButton button = new JButton();
button.setText("登录");
button.setBounds(86, 209, 106, 28);
getContentPane().add(button);
button.addActionListener(new ActionListener(){

@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
loginTip(tf, ps);
}

});

final JButton button_1 = new JButton();
button_1.setText("退出");
button_1.setBounds(233, 209, 106, 28);
getContentPane().add(button_1);
button_1.addActionListener(new ActionListener(){

@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
dispose();
System.exit(0);
}

});
//
}
private void loginTip(JTextField tf,JPasswordField ps){
String user = tf.getText();
String password = ps.getText();

if(user.equals("")){
JOptionPane.showMessageDialog(null,"账号不能为空","Warning",JOptionPane.WARNING_MESSAGE);
return;
}
if(password.equals("")){
JOptionPane.showMessageDialog(null,"密码不能为空","Warning",JOptionPane.WARNING_MESSAGE);
return;
}
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url = "jdbc:sqlserver://localhost:1433;DatabaseName=sjk2";
String use = "sa";
String passwor = "sql";
Connection con = DriverManager.getConnection(url,use,passwor);
java.sql.Statement stmt=con.createStatement();
String sql = "select * FROM LoginFrom WHERE userman='"+ user +"' and topassword='"+ password +"'" ;
ResultSet rs=stmt.executeQuery(sql);
if (rs.next()) {
// TODO: 如果数据校验成功 显示主界面 并关闭登录界面

JOptionPane.showMessageDialog(this, "成功登录", "提示",
JOptionPane.INFORMATION_MESSAGE);
this.dispose();

} else {
JOptionPane.showMessageDialog(this, "帐号或密码错误!", "警告",
JOptionPane.WARNING_MESSAGE);
ps.requestFocus(); // 密码框选中
}
}
catch(Exception e){
e.printStackTrace();

}

}

}

大家注意几个关键的地方,一定要弄清楚为何要这么写!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值