java+SQL做的学生管理系统_第1页
java+SQL做的学生管理系统_第2页
java+SQL做的学生管理系统_第3页
java+SQL做的学生管理系统_第4页
java+SQL做的学生管理系统_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精品文档 1欢迎下载 这个学生管理系统 我用 Java 的 JDK1 6 开发工具和微软的 Microsoft SQL Server 数 据库两者相结合做出来的 主界面 以下是我的走过的路径 以下是我的走过的路径 一数据库的设计 1 创建数据库 StudentManager 图 1 0 图 1 2 1 3 创建表 StudentInfo 图 1 3 二创建 数据源 ODBC 具体步骤 开始 控制面板 管理工具 数据源 ODBC 在用户 DNS 里 点 添加 在数据源驱动列表最下方选择 SQLServer 点 完成 出现了一个创建到 SQL Server 的新数据源 精品文档 2欢迎下载 在数据源 名称 右侧 填写数据库的名称 在 服务器 右侧 写 local 点 下一步 继续点 下一步 在更改默认的数据库为 StudentManager 这里的数据库为我刚刚新建的数据库 点 下一步 点 完成 出现一个 ODBC Microsoft SQL Server 安装 对话框 点击下面的 测试数据源 出现图 2 1 就好了 图 2 1 下面依次点击 确定 就完成了 完成了以后 你会在数据源里看到自己刚刚新建的数据源 名为 StudentManager 图 2 2 三代码的编写 3 1 数据库连接类的代码 文件名 DBConnect java 导入 sql 数据库包 import java sql 创建数据库连接类 精品文档 3欢迎下载 public class DBConnect 静态方法提高数据库的连接效率 public static Connection getConn throws Exception 加载 JDBC 驱动 Class forName sun jdbc odbc JdbcOdbcDriver 以系统用户身份 连接数据库 StudentManager return DriverManager getConnection jdbc odbc StudentManager 3 2 关于 对话框的代码 文件名 MainFrame AboutBox java 导入系统的类包 import java awt import javax swing 创建对话框类 public class MainFrame AboutBox extends JDialog JPanel jpanel1 new JPanel 创建标签对象 JLabel jLabel1 new JLabel 学生信息管理系统 JLabel jLabel2 new JLabel 作者 林德军 JLabel jLabel3 new JLabel 版本号 2010 11 10 带参数的构造方法 public MainFrame AboutBox Frame owner String title boolean modal 调用父类的构造函数 super owner title modal try 关闭框架窗口时的默认事件方法 setDefaultCloseOperation EXIT ON CLOSE 调用初始化方法 jbInit pack 何用 pack catch Exception exception exception printStackTrace 不带参数的构造方法 public MainFrame AboutBox 精品文档 4欢迎下载 this new JFrame MainFrame AboutBox false 界面初始化方法 private void jbInit throws Exception 面板的布局 jpanel1 setLayout null 设置标签组件的大小 jLabel1 setBounds new Rectangle 46 28 249 39 jLabel2 setBounds new Rectangle 49 76 174 28 jLabel3 setBounds new Rectangle 47 121 126 27 将对话框面板添加到内容面板 getContentPane add jpanel1 添加标签到内容面板 jpanel1 add jLabel1 jpanel1 add jLabel2 jpanel1 add jLabel3 setSize 260 220 3 3 添加学生面板类的代码 文件名 AddStudentPanel java 导入系统的类包 import java awt import java sql import javax swing import java awt event 创建 添加学生面板 类 public class AddStudentPanel extends JPanel implements ActionListener 声明连接数据库对象 Connection con 声明 SQL 语句对象 Statement st 创建组件对象 标签 文本行 单选 JLabel jLabel1 new JLabel 学号 JLabel jLabel2 new JLabel 姓名 JLabel jLabel3 new JLabel 性别 JLabel jLabel4 new JLabel 出生日期 JLabel jLabel5 new JLabel 籍贯 JLabel jLabel6 new JLabel 注意 出生日期格式为 YYYY MM DD JTextField jTextField1 new JTextField JTextField jTextField2 new JTextField 精品文档 5欢迎下载 JTextField jTextField3 new JTextField JTextField jTextField4 new JTextField JRadioButton jRadioButton1 new JRadioButton 男 JRadioButton jRadioButton2 new JRadioButton 女 ButtonGroup buttonGroup1 new ButtonGroup JButton jButton1 new JButton 存入数据库 构造方法 public AddStudentPanel try 调用初始化方法 jbInit catch Exception exception exception printStackTrace 界面初始化方法 private void jbInit throws Exception 连接数据库 con DBConnect getConn st con createStatement 框架的布局 this setLayout null 设置各组件的大小 jLabel1 setBounds new Rectangle 21 17 64 24 jLabel2 setBounds new Rectangle 21 51 53 22 jLabel3 setBounds new Rectangle 21 86 61 27 jLabel4 setBounds new Rectangle 21 122 59 25 jLabel5 setBounds new Rectangle 21 188 54 24 jLabel6 setBounds new Rectangle 102 153 219 27 jTextField1 setBounds new Rectangle 102 10 200 30 jTextField2 setBounds new Rectangle 102 49 200 30 jTextField3 setBounds new Rectangle 102 117 200 33 jTextField4 setBounds new Rectangle 102 183 200 29 jRadioButton1 setBounds new Rectangle 102 83 65 30 jRadioButton2 setBounds new Rectangle 190 85 85 30 jButton1 setBounds new Rectangle 103 217 180 30 设置单选按钮被选中 jRadioButton1 setSelected true 添加按钮动作事件 jButton1 addActionListener this 添加组件到面板 精品文档 6欢迎下载 this add jTextField1 this add jLabel1 this add jLabel2 this add jTextField2 this add jRadioButton1 this add jRadioButton2 this add jLabel3 this add jLabel4 this add jTextField3 this add jLabel6 this add jTextField4 this add jLabel5 this add jButton1 buttonGroup1 add jRadioButton1 buttonGroup1 add jRadioButton2 点击按钮事件 public void actionPerformed ActionEvent e 获取用户输入的信息 String xuehao jTextField1 getText String xingming jTextField2 getText String xingbie if jRadioButton1 isSelected xingbie 男 if jRadioButton2 isSelected xingbie 女 String dateString jTextField3 getText String jiguan jTextField4 getText try 设置日期格式 st execute set dateformat ymd 利用 st 对象执行 SQL 语句 进行插入操作 st executeUpdate insert into StudentInfo values xuehao xingming xingbie dateString jiguan 清空文本行的内容 jTextField1 setText jTextField2 setText jTextField3 setText jTextField4 setText 利用消息对话框提示删除操作成功 JOptionPane showMessageDialog this 插入成功 精品文档 7欢迎下载 catch Exception ex 利用消息对话框提示不能插入 并显示异常的信息 JOptionPane showMessageDialog this 输入数据错误或者数据库不允许插 入 ex printStackTrace 3 4 删除学生面板类的代码 文件名 DeleteStudentPanel java 导入系统的类包 import java awt import java sql import javax swing import java awt event 创建 删除学生面板 类 public class DeleteStudentPanel extends JPanel implements ActionListener 声明连接数据库对象 Connection con 声明 SQL 语句对象 Statement st 创建组件对象 JLabel jLabel1 new JLabel 请输入待删除的学生的学号 JTextField jTextField1 new JTextField JButton jButton1 new JButton 删除 构造方法 public DeleteStudentPanel try 调用初始化方法 jbInit catch Exception exception exception printStackTrace 界面初始化方法 private void jbInit throws Exception 连接数据库 con DBConnect getConn st con createStatement 框架的布局 精品文档 8欢迎下载 this setLayout null 设置各组件的大小 jLabel1 setFont new java awt Font 宋体 Font BOLD 14 jLabel1 setBounds new Rectangle 70 20 200 30 jTextField1 setBounds new Rectangle 70 80 207 41 jButton1 setBounds new Rectangle 70 175 205 36 添加按钮动作事件 jButton1 addActionListener this 添加组件到面板 this add jLabel1 this add jTextField1 this add jButton1 点击按钮事件 public void actionPerformed ActionEvent e 获取用户输入的学号 String xuehao jTextField1 getText 要求用户确认删除 if JOptionPane showConfirmDialog this 确认要删除吗 JOptionPane YES OPTION try 利用 st 对象执行 SQL 删除操作 st executeUpdate delete from StudentInfo where 学号 xuehao 利用消息对话框提示删除操作成功 JOptionPane showMessageDialog this 删除操作成功 清空输入学号的文本行 jTextField1 setText catch Exception ex 利用消息对话框提示不能删除 JOptionPane showMessageDialog this 删除操作执行失败 3 5 按姓名查询学生面板类的代码 文件名 InquireOnNamePanel java 导入系统的类包 import java awt import java sql import javax swing import java awt event 精品文档 9欢迎下载 创建 添加学生面板 类 public class InquireOnNamePanel extends JPanel implements ActionListener 声明连接数据库对象 Connection con 声明 SQL 语句对象 Statement st 创建组件对象 标签 文本行 单选 JLabel jLabel1 new JLabel 请输入待查询的学生的姓名 JTextField jTextField1 new JTextField JButton jButton1 new JButton 按姓名查询 JScrollPane jScrollPane1 new JScrollPane JTextArea jTextArea1 new JTextArea 构造方法 public InquireOnNamePanel try 调用初始化方法 jbInit catch Exception exception exception printStackTrace 面板初始化方法 private void jbInit throws Exception 连接数据库 con DBConnect getConn st con createStatement 框架的布局 this setLayout null 设置各组件的大小 jLabel1 setFont new java awt Font 宋体 Font BOLD 14 jLabel1 setBounds new Rectangle 80 10 200 34 jTextField1 setBounds new Rectangle 80 50 200 30 jButton1 setBounds new Rectangle 100 90 160 30 jScrollPane1 setBounds new Rectangle 29 125 308 130 添加按钮动作事件 jButton1 addActionListener this 添加组件到面板 this add jScrollPane1 jScrollPane1 getViewport add jTextArea1 this add jLabel1 精品文档 10欢迎下载 this add jTextField1 this add jButton1 点击按钮事件 public void actionPerformed ActionEvent e 获取用户输入的姓名 String xingming jTextField1 getText 清空文本区原有的内容 jTextArea1 setText 要求用户确认删除 try 利用 st 对象执行 SQL 语句 返回结果集对象 ResultSet rs st executeQuery select from View1 where 姓名 xingming 处理结果集 逐条显示结果集中的记录 while rs next jTextArea1 append rs getString 学号 rs getString 姓名 rs getString 性别 rs getDate 出生日期 rs getString 籍贯 n jTextArea1 append 系名 rs getString 系名 班主任 rs getString 班主任 n 清空文本行的内容 jTextField1 setText catch Exception ex 利用消息对话框提示查询失败 JOptionPane showMessageDialog this 查询失败 3 6 按学号查询学生面板类的代码 文件名 InquireOnXHPanel java 导入系统的类包 import java awt import java sql import javax swing import java awt event 创建 添加学生面板 类 public class InquireOnXHPanel extends JPanel implements ActionListener 声明连接数据库对象 Connection con 精品文档 11欢迎下载 声明 SQL 语句对象 Statement st 创建组件对象 标签 文本行 单选 JLabel jLabel1 new JLabel 请输入待查询的学生的学号 JTextField jTextField1 new JTextField JButton jButton1 new JButton 按学号查询 JTextArea jTextArea1 new JTextArea 构造方法 public InquireOnXHPanel try 调用初始化方法 jbInit catch Exception exception exception printStackTrace 面板初始化方法 private void jbInit throws Exception 连接数据库 con DBConnect getConn st con createStatement 框架的布局 this setLayout null 设置各组件的大小 jLabel1 setFont new java awt Font 宋体 Font BOLD 16 jLabel1 setBounds new Rectangle 46 4 222 32 jTextField1 setBounds new Rectangle 47 37 247 31 jButton1 setBounds new Rectangle 47 86 247 30 jTextArea1 setBounds new Rectangle 24 130 305 109 添加按钮动作事件 jButton1 addActionListener this 添加组件到面板 this add jLabel1 this add jTextField1 this add jTextArea1 this add jButton1 点击按钮事件 public void actionPerformed ActionEvent e 获取用户输入的学号 精品文档 12欢迎下载 String xuehao jTextField1 getText 清空文本区原有的内容 jTextArea1 setText try 利用 st 对象执行 SQL 语句 返回结果集对象 ResultSet rs st executeQuery select from view1 where 学号 xuehao 处理结果集 逐条显示结果集中的记录 此处没有使用 while 因为学号是唯一的 而姓名不是 所以在 InquireOnNamePanel java 里使用了 while if rs next jTextArea1 setText rs getString 学号 rs getString 姓名 rs getString 性别 rs getDate 出生日期 rs getString 籍 贯 n jTextArea1 append 系名 rs getString 系名 班主任 rs getString 班主任 清空文本行的内容 jTextField1 setText else JOptionPane showMessageDialog this 没有这个学号 catch Exception ex 利用消息对话框提示查询失败 JOptionPane showMessageDialog this 查询失败 3 7 系统主界面类的代码 文件名 MainFrame java 导入系统的包 import java awt import java awt event import javax swing 创建主界面类 public class MainFrame extends JFrame implements ActionListener 创建内容面板 JPanel contentPane 创建菜单栏 见 267 页的图 12 1 里的菜单栏 JMenuBar jMenuBar1 new JMenuBar 精品文档 13欢迎下载 JMenu jMenuFile new JMenu 文件 JMenuItem jMenuFileExit new JMenuItem 退出 JMenu jMenu1 new JMenu 学生管理 JMenuItem jMenuItem1 new JMenuItem 添加学生 JMenuItem jMenuItem2 new JMenuItem 删除学生 JMenu jMenu2 new JMenu 学生查询 JMenuItem jMenuItem3 new JMenuItem 按姓名查询 JMenuItem jMenuItem4 new JMenuItem 按学号查询 JMenu jMenuHelp new JMenu 帮助 JMenuItem jMenuHelpAbout new JMenuItem 关于 创建标签 用于显示信息 JLabel jLabel1 new JLabel 欢迎使用学生信息管理系统 JLabel jLabel2 new JLabel 2010 年 11 月 10 日 林德军 构造方法 创建对象时自动调用 public MainFrame try 关闭框架窗口时的默认事件方法 setDefaultCloseOperation EXIT ON CLOSE 调用初始化方法 jbInit catch Exception exception exception printStackTrace 界面初始化方法 private void jbInit throws Exception 创建内容面板和其布局 contentPane JPanel getContentPane contentPane setLayout null 框架的大小和其标题 setSize new Dimension 400 320 setTitle 学生信息管理系统 添加事件监听器 jMenuFileExit addActionListener this jMenuHelpAbout addActionListener this jMenuItem1 addActionListener this jMenuItem2 addActionListener this jMenuItem3 addActionListener this jMenuItem4 addActionListener this 添加菜单条 setJMenuBar jMenuBar1 精品文档 14欢迎下载 添加菜单组件到菜单条 jMenuBar1 add jMenuFile jMenuBar1 add jMenu1 jMenuBar1 add jMenu2 jMenuBar1 add jMenuFileExit jMenuBar1 add jMenuHelp 添加菜单项组件到菜单组件 jMenuFile add jMenuFileExit jMenuHelp add jMenuHelpAbout jMenu1 add jMenuItem1 jMenu1 add jMenuItem2 jMenu2 add jMenuItem3 jMenu2 add jMenuItem4 添加标签到内容面板 contentPane add jLabel1 contentPane add jLabel2 设置标签组件的大小和字体 jLabel1 setFont new java awt Font 宋体 Font BOLD 20 jLabel1 setBounds new Rectangle 65 70 275 55 jLabel2 setFont new java awt Font 宋体 Font BOLD 16 jLabel2 setBounds new Rectangle 90 150 200 35 菜单事件的处理方法 public void actionPerformed ActionEvent actionEvent 点击 文件 菜单下的 退出 菜单项 if actionEvent getSource jMenuFileExit System exit 0 点击 学生管理 菜单下的 添加学生 菜单项 if actionEvent getSource jMenuItem1 创建添加学生面板对象 AddStudentPanel add new AddStudentPanel 移除主界面上原有的内容 this remove this getContentPane this setContentPane add 令界面可见 this setVisible true 点击 学生管理 菜单下的 删除学生 菜单项 if actionEvent getSource jMenuItem2 精品文档 15欢迎下载 创建删除学生面板对象 DeleteStudentPanel delete new DeleteStudentPanel 移除主界面上原有的内容 this remove this getContentPane this setContentPane delete 令界面可见 this setVisible true 点击 学生查询 菜单下的 按姓名查询 菜单项 if actionEvent getSource jMenuItem3 创建 按姓名查询 面板对象 InquireOnNamePanel onName new InquireOnNamePanel 移除主界面上原有的内容 this remove this getContentPane this setContentPane onName 令界面可见 this setVisible true 点击 学生查询 菜单下的 按学号查询 菜单项 if actionEvent getSource jMenuItem4 创建 按学号查询 面板对象 InquireOnXHPanel onXH new InquireOnXHPanel 移除主界面上原有的内容 this remove this getContentPane this setContentPane onXH 令界面可见 this

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论