《Java高级编程应用》实验七八 数据库编程1Word文档下载推荐.docx
《《Java高级编程应用》实验七八 数据库编程1Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《《Java高级编程应用》实验七八 数据库编程1Word文档下载推荐.docx(12页珍藏版)》请在冰豆网上搜索。
//2.通过DriverManager获取数据库连接
Stringurl="
jdbc:
mysql:
//localhost:
3306/gradem"
;
Stringusername="
root"
Stringpassword="
123"
conn=DriverManager.getConnection(url,username,password);
//3.通过Connection对象获取Statement
stmt=conn.createStatement();
//4.使用Statement执行SQL语句
Stringsql="
select*fromstudent"
rs=stmt.executeQuery(sql);
//5.操作ResultSet结果集
System.out.println("
\t学号"
+"
\t|\t"
姓名"
while(rs.next()){
Stringsno=rs.getString("
sno"
Stringsname=rs.getString("
sname"
System.out.println("
"
+sno+"
+sname);
}
}catch(Exceptione){
e.printStackTrace();
}finally{
//6.回收据库资源
if(rs!
=null){
try{
rs.close();
}catch(Exceptione){
e.printStackTrace();
}
rs=null;
if(stmt!
stmt.close();
stmt=null;
if(conn!
conn.close();
conn=null;
}
}
}
3、完善用户的登录程序,实现从数据库访问用户名和密码的登录控制。
packageJDBC;
importjava.sql.*;
publicclassLoginVerify{
privatestaticintb;
publicstaticvoidmain(Stringargs[]){
Stringlogin_name="
KDs"
Stringlogin_password="
1234"
b=1;
select*fromUsers"
Stringuser_name=rs.getString("
user_name"
Stringuser_password=rs.getString("
user_password"
if(login_name.equals(user_name)){
b=1;
if(login_password.equals(user_password)){
System.out.println("
登录成功!
"
}
else{
密码错误!
登录失败!
!
else{
b=0;
if(b==0){
该用户名未注册!
}catch(Exceptione){
4、在题目3的基础上完善用户的登录程序,实现如下用户的登录控制。
importjava.awt.GridLayout;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.awt.event.MouseEvent;
importjava.awt.event.MouseListener;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JOptionPane;
importjavax.swing.JPanel;
importjavax.swing.JPasswordField;
importjavax.swing.JTextField;
importjava.awt.BorderLayout;
importjava.awt.Color;
importjava.awt.Font;
importjava.awt.Graphics;
importjava.util.Random;
publicclassLoginIntact{
JTextFieldtf,tf_security_code;
JPasswordFieldpf;
JFramef;
JLabellName,lPassword,refresh_security_code;
JButtonbLogin,bQuit;
JPanelp1,p2,p3,p4;
publicLoginIntact(){
//TODOAuto-generatedconstructorstub
f=newJFrame();
tf=newJTextField(18);
tf_security_code=newJTextField(10);
//验证码输入框
pf=newJPasswordField(18);
lName=newJLabel("
用户名:
lPassword=newJLabel("
密码:
bLogin=newJButton("
登录"
bQuit=newJButton("
取消"
refresh_security_code=newJLabel("
看不清,换一张"
//-----------登录取消添加事件监听
bLogin.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
Stringlogin_name=tf.getText();
Stringlogin_password=pf.getText();
Statementstmt=null;
ResultSetrs=null;
Connectionconn=null;
b=1;
//1.注册数据库的驱动
Class.forName("
//2.通过DriverManager获取数据库连接
Stringurl="
Stringusername="
Stringpassword="
conn=DriverManager.getConnection(url,username,password);
//3.通过Connection对象获取Statement
stmt=conn.createStatement();
//4.使用Statement执行SQL语句
Stringsql="
rs=stmt.executeQuery(sql);
//5.操作ResultSet结果集
Stringinput_code=tf_security_code.getText();
//获取用户输入的验证码
Stringss=newmyJPanel().sb.toString();
System.out.println(ss);
if(ss.equalsIgnoreCase(input_code)){
newmyJPanel().repaint();
//重绘验证码面板
if("
.equals(tf.getText())||"
.equals(pf.getText())){
JOptionPane.showMessageDialog(null,"
用户名或密码为空!
}
else{
while(rs.next()){
Stringuser_name=rs.getString("
Stringuser_password=rs.getString("
if(login_name.equals(user_name)){
b=1;
if(login_password.equals(user_password)){
JOptionPane.showMessageDialog(null,"
登陆成功!
//System.out.println("
tf.setText("
pf.setText("
tf_security_code.setText("
//刷新验证码时,清空验证码输入框
}
else{
密码错误,登录失败"
}
else{
b=0;
}
if(b==0){
//System.out.println("
JOptionPane.showMessageDialog(null,"
用该用户名未注册!
JOptionPane.showMessageDialog(null,"
验证码输入错误!
请重新输入!
}catch(Exceptionee){
ee.printStackTrace();
});
bQuit.addActionListener(newActionListener(){
System.exit(0);
refresh_security_code.addMouseListener(newMouseListener(){
@Override
publicvoidmouseClicked(MouseEventarg0){
//TODOAuto-generatedmethodstub
f.setVisible(true);
f.repaint();
//重绘刷新
tf_security_code.setText("
//刷新验证码时,清空验证码输入框
publicvoidmouseEntered(MouseEvente){
publicvoidmouseExited(MouseEvente){
publicvoidmousePressed(MouseEvente){
publicvoidmouseReleased(MouseEvente){
//--------------------
p1=newJPanel();
p2=newJPanel();
p3=newJPanel();
p4=newJPanel();
JPanelpp=newJPanel();
p1.add(lName);
p1.add(tf);
p2.add(lPassword);
p2.add(pf);
p3.add(newmyJPanel());
pp.add(tf_security_code);
p3.add(pp);
p3.add(refresh_security_code);
p4.add(bLogin);
p4.add(bQuit);
//------添加部件
f.add(newJPanel());
f.add(p1);
f.add(p2);
f.add(p3);
f.add(p4);
//------布局设置
f.setLayout(newGridLayout(5,1));
p3.setLayout(newGridLayout(1,3));
//------窗体设置
f.setVisible(true);
f.setBounds(200,300,400,300);
staticclassmyJPanelextendsJPanel{
publicstaticStringBuildersb;
publicvoidpaint(Graphicsg){
intwidth=130;
intheight=35;
g.setColor(Color.LIGHT_GRAY);
//设置上下文颜色
g.fillRect(0,0,width,height);
//填充验证码背景
g.setColor(Color.black);
g.drawRect(0,0,width-1,height-1);
//绘制边框
//绘制干扰点
Randomr=newRandom();
for(inti=0;
i<
100;
i++){
intx=r.nextInt(width)-2;
inty=r.nextInt(height)-2;
g.drawOval(x,y,2,2);
g.setFont(newFont("
黑体"
Font.BOLD,30));
//设置验证码字体
g.setColor(Color.BLUE);
//设置验证码颜色
//产生随机验证码
char[]chars=("
abcdefghigklmnopqistuvwxyzABCDEFGHIJKLMNOPQISTUVWXYZ"
+"
0123456789"
).toCharArray();
sb=newStringBuilder();
4;
intpos=r.nextInt(chars.length);
charc=chars[pos];
sb.append(c+"
g.drawString(sb.toString(),20,30);
//写入验证码
newLoginIntact();
三、实验总结