ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:53.68KB ,
资源ID:7764616      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7764616.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《Java高级编程应用》实验七八 数据库编程1.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

《Java高级编程应用》实验七八 数据库编程1.docx

1、Java高级编程应用实验七八 数据库编程1实验七、八 数据库编程一、实验目的1、掌握数据库连接用到的主要API;2、掌握数据库连接两种常用的方法。二、实验内容1、请以数据查询为例,简述连接数据库的步骤。1.注册数据库的驱动2.通过DriverManager获取数据库连接3.通过Connection对象获取Statement4.使用Statement执行SQL语句5.操作ResultSet结果集6.回收据库资源2、借助JDBC方式连接数据库,查询某班学生的花名册(含学号、姓名)。源程序:package JDBC;import java.sql.Connection;import java.sql

2、.DriverManager;import java.sql.ResultSet;import java.sql.Statement;public class Database_Connectivity public static void main(String args) Statement stmt = null; ResultSet rs = null; Connection conn = null; try /1.注册数据库的驱动 Class.forName(com.mysql.jdbc.Driver); /2.通过DriverManager获取数据库连接 String url =

3、jdbc:mysql:/localhost:3306/gradem; String username = root; String password = 123; conn = DriverManager.getConnection(url,username,password); /3.通过Connection对象获取Statement stmt = conn.createStatement(); /4.使用Statement执行SQL语句 String sql = select * from student; rs = stmt.executeQuery(sql); /5.操作ResultS

4、et结果集 System.out.println(t学号+t|t+姓名); while (rs.next() String sno = rs.getString(sno); String sname = rs.getString(sname); System.out.println( +sno+t|t+sname); catch(Exception e) e.printStackTrace(); finally /6.回收据库资源 if (rs != null) try rs.close(); catch(Exception e) e.printStackTrace(); rs = null;

5、 if (stmt != null) try stmt.close(); catch(Exception e) e.printStackTrace(); stmt = null; if (conn != null) try conn.close(); catch(Exception e) e.printStackTrace(); conn = null; 3、完善用户的登录程序,实现从数据库访问用户名和密码的登录控制。源程序: package JDBC;import java.sql.*;public class LoginVerify private static int b; public

6、 static void main(String args) String login_name = KDs; String login_password = 1234; Statement stmt = null; ResultSet rs = null; Connection conn = null; b=1; try /1.注册数据库的驱动 Class.forName(com.mysql.jdbc.Driver); /2.通过DriverManager获取数据库连接 String url = jdbc:mysql:/localhost:3306/gradem; String userna

7、me = root; String password = 123; conn = DriverManager.getConnection(url,username,password); /3.通过Connection对象获取Statement stmt = conn.createStatement(); /4.使用Statement执行SQL语句 String sql = select * from Users; rs = stmt.executeQuery(sql); /5.操作ResultSet结果集 while (rs.next() String user_name = rs.getSt

8、ring(user_name); String user_password = rs.getString(user_password); if(login_name.equals(user_name) b = 1; if (login_password.equals(user_password) System.out.println(登录成功!); else System.out.println(密码错误!登录失败!); else b = 0; if(b = 0) System.out.println(该用户名未注册!登录失败!); catch(Exception e) e.printStac

9、kTrace(); 4、在题目3的基础上完善用户的登录程序,实现如下用户的登录控制。源程序:package JDBC;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import java.sql.Connection;import java.sql.DriverManager;import java.sql.R

10、esultSet;import java.sql.Statement;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JPasswordField;import javax.swing.JTextField;import java.awt.BorderLayout;import java.awt.Color;import java.aw

11、t.Font;import java.awt.Graphics;import java.util.Random;public class LoginIntact JTextField tf,tf_security_code; JPasswordField pf; JFrame f; JLabel lName,lPassword,refresh_security_code; JButton bLogin,bQuit; JPanel p1,p2,p3,p4; private static int b; public LoginIntact() / TODO Auto-generated const

12、ructor stub f = new JFrame(); tf=new JTextField(18); tf_security_code = new JTextField(10);/验证码输入框 pf=new JPasswordField(18); lName=new JLabel(用户名:); lPassword=new JLabel(密 码:); bLogin=new JButton(登录); bQuit=new JButton(取消); refresh_security_code = new JLabel(看不清,换一张); /-登录取消添加事件监听 bLogin.addActionL

13、istener(new ActionListener() public void actionPerformed(ActionEvent e) String login_name = tf.getText(); String login_password = pf.getText(); Statement stmt = null; ResultSet rs = null; Connection conn = null; b=1; try /1.注册数据库的驱动 Class.forName(com.mysql.jdbc.Driver); /2.通过DriverManager获取数据库连接 Str

14、ing url = jdbc:mysql:/localhost:3306/gradem; String username = root; String password = 123; conn = DriverManager.getConnection(url,username,password); /3.通过Connection对象获取Statement stmt = conn.createStatement(); /4.使用Statement执行SQL语句 String sql = select * from Users; rs = stmt.executeQuery(sql); /5.操

15、作ResultSet结果集 String input_code = tf_security_code.getText();/获取用户输入的验证码 String ss = new myJPanel().sb.toString(); System.out.println(ss); if(ss.equalsIgnoreCase(input_code) new myJPanel().repaint();/重绘验证码面板 if(.equals(tf.getText() | .equals(pf.getText() JOptionPane.showMessageDialog(null,用户名或密码为空!登

16、录失败!); else while (rs.next() String user_name = rs.getString(user_name); String user_password = rs.getString(user_password); if(login_name.equals(user_name) b = 1; if (login_password.equals(user_password) JOptionPane.showMessageDialog(null,登陆成功!); / System.out.println(登录成功!); tf.setText(); pf.setTex

17、t(); tf_security_code.setText();/刷新验证码时,清空验证码输入框 else / System.out.println(密码错误!登录失败!); JOptionPane.showMessageDialog(null,密码错误,登录失败); else b = 0; if(b = 0) / System.out.println(该用户名未注册!登录失败!); JOptionPane.showMessageDialog(null,用该用户名未注册!登录失败!); else JOptionPane.showMessageDialog(null,验证码输入错误!请重新输入!

18、); catch(Exception ee) ee.printStackTrace(); ); bQuit.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) System.exit(0); ); refresh_security_code.addMouseListener(new MouseListener() Override public void mouseClicked(MouseEvent arg0) / TODO Auto-generated method stub f

19、.setVisible(true); f.repaint();/重绘刷新 tf_security_code.setText();/刷新验证码时,清空验证码输入框 Override public void mouseEntered(MouseEvent e) / TODO Auto-generated method stub Override public void mouseExited(MouseEvent e) / TODO Auto-generated method stub Override public void mousePressed(MouseEvent e) / TODO A

20、uto-generated method stub Override public void mouseReleased(MouseEvent e) / TODO Auto-generated method stub ); /- p1 = new JPanel(); p2 = new JPanel(); p3 = new JPanel(); p4 = new JPanel(); JPanel pp = new JPanel(); p1.add(lName); p1.add(tf); p2.add(lPassword); p2.add(pf); p3.add(new myJPanel(); pp

21、.add(tf_security_code); p3.add(pp); p3.add(refresh_security_code); p4.add(bLogin); p4.add(bQuit); /-添加部件 f.add(new JPanel(); f.add(p1); f.add(p2); f.add(p3); f.add(p4); /-布局设置 f.setLayout(new GridLayout(5,1); p3.setLayout(new GridLayout(1,3); /-窗体设置 f.setVisible(true); f.setBounds(200,300,400,300);

22、static class myJPanel extends JPanel public static StringBuilder sb; public void paint(Graphics g) int width = 130; int height = 35; g.setColor(Color.LIGHT_GRAY);/设置上下文颜色 g.fillRect(0, 0, width, height);/填充验证码背景 g.setColor(Color.black);/设置上下文颜色 g.drawRect(0, 0, width - 1, height - 1);/绘制边框 /绘制干扰点 Ra

23、ndom r = new Random(); for (int i = 0; i 100; i+) int x = r.nextInt(width) - 2; int y = r.nextInt(height) -2; g.drawOval(x, y, 2, 2); g.setFont(new Font(黑体, Font.BOLD, 30);/设置验证码字体 g.setColor(Color.BLUE);/设置验证码颜色 /产生随机验证码 char chars = (abcdefghigklmnopqistuvwxyzABCDEFGHIJKLMNOPQISTUVWXYZ +0123456789).toCharArray(); sb = new StringBuilder(); for (int i = 0; i 4; i+) int pos = r.nextInt(chars.length); char c = charspos; sb.append(c+); g.drawString(sb.toString(), 20, 30);/写入验证码 public static void main(String args) new LoginIntact(); 三、实验总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1