图书管理系统数据库课程设计实验报告(3)

2019-01-07 16:49

\消息\return; }

if(jtxtArray[0].getText().trim().equals(\若\用户IP\文本框输入为空,提示 JOptionPane.showMessageDialog(this,\用户IP不能为空!!!\信息\JOptionPane.INFORMATION_MESSAGE); return; }

if(jtxtArray[1].getText().trim().equals(\若\端口号\文本框输入为空,提示 JOptionPane.showMessageDialog(this,\用户端口号不能为空!!!\\信息\return; }

//查询学号文本中所输学号是否存在于STUDENT表中 sql=\+Integer.parseInt(jtxtArray[2].getText().trim()); db=new DataBase(); db.selectDb(sql); try{

if(!(db.rs.next())){//若学号错误,输出提示对话框

JOptionPane.showMessageDialog(this,\输入了错误的学号!!\\消息\}

else{//得到输入学号的学生的姓名和班级 String stuNO=db.rs.getString(1).trim(), password=db.rs.getString(2).trim();

if(jtxtArray[2].getText().trim().equals(stuNO)&&

String.valueOf(jpassword.getPassword()).equals(password)){//登录成功 jlArray[4].setText(\恭喜您,登录成功!!!\new StudentSystem(); this.dispose(); }

else{//登录失败

jlArray[4].setText(\对不起,登录失败!!!\} } }

catch(Exception ex) { ex.printStackTrace();} db.dbClose(); //关闭数据库链接 } }

public static void main(String[]args) {

new Login();

}

}登录失败:

登录成功:

学生端登录成功 2, 数据库操作类框架

3, public class DataBase 4, {

5, Connection con=null;//声明Connection引用 6, Statement stat; 7, ResultSet rs; 8, int count;

9, public static String message; //声明一个静态成员变量 10, public static Login log; 11, public DataBase(){

12, try{//加载MySQL的驱动类,并创建数据库连接 13, Class.forName(\);

14, //con=java.sql.DriverManager.getConnection(\localhost:3306/test\

15, con=DriverManager.getConnection(\+message+\

/test?useUnicode=true&characterEncoding=GBK\,\,\ghai\);

16, stat=con.createStatement();//创建Statement对象 17, }

18, catch(Exception e){//如果从Login类传的参数不对,则提示出错 19, JOptionPane.showMessageDialog(log,\用户IP或端口号错误!!!

\,

20, \信息\,JOptionPane.INFORMATION_MESSAGE); 21, } 22, }

23, public void selectDb(String sql){//声明select方法 24, try{

25, //sql = new String(sql.getBytes(),\ 26, rs=stat.executeQuery(sql); 27, }

28, catch(Exception ie){ie.printStackTrace();} 29, }

30, public int updateDb(String sql){//声明update方法 31, try{

32, sql = new String(sql);//转码 33, count=stat.executeUpdate(sql); 34, }

35, catch(Exception ie){ie.printStackTrace();} 36, return count; 37, }

38, public void dbClose(){//声明close方法 39, try{con.close();}

40, catch(Exception e){e.printStackTrace();} 41, } 42, }

这段代码主要实现了加载MYSQL的JDBC驱动。并且创建了数据库连接和STATEMENT对象

3,管理端界面的实现模块

管理端界面的实现,窗体左边是一个树状列表控件,右边是一个卡片布局的面板,实现代码如下:

package wyf.hxl; import java.awt.*;

import java.awt.event.*; import javax.swing.event.*; import javax.swing.*; import javax.swing.tree.*; import java.io.*;

public class Root extends JFrame {

//创建节点数组

DefaultMutableTreeNode[] dmtn=

{new DefaultMutableTreeNode(new NodeValue(\图书馆管理系统\new DefaultMutableTreeNode(new NodeValue(\学生用户管理\new DefaultMutableTreeNode(new NodeValue(\图书管理\new DefaultMutableTreeNode(new NodeValue(\查询图书\new DefaultMutableTreeNode(new NodeValue(\借阅预约图书\new DefaultMutableTreeNode(new NodeValue(\归还挂失图书\new DefaultMutableTreeNode(new NodeValue(\交纳罚款\new DefaultMutableTreeNode(new NodeValue(\管理员管理\new DefaultMutableTreeNode(new NodeValue(\退出\

DefaultTreeModel dtm=new DefaultTreeModel(dmtn[0]);//创建树模型,指定根节点为\学生管理系统\

JTree jt=new JTree(dtm);//创建包含dtm树模型的JTree对象 JScrollPane jsp=new JScrollPane(jt);//为JTree创建滚动窗体

private JSplitPane jsplr=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true);//创建分割窗体对象

private JPanel jp=new JPanel();//创建JPanel对象 Image image=new ImageIcon(\ImageIcon ii = new ImageIcon(image); private JLabel jlRoot=new JLabel(ii); private Manager mg;//登陆管理员名 String mgNo;//管理员ID

CardLayout cl=new CardLayout();//获取卡片布局管理器引用 public Root(String mgNo) {

this.mgNo=mgNo;//获得管理员ID

mg=new Manager(mgNo);//创建管理员管理面板 this.setManager();//设置管理员权限 this.initJp();//初始化卡片布局面板

this.addTreeListener();//为树节点注册事件监听器 for(int i=1;i<9;i++)

{//向根节点添加子节点

dtm.insertNodeInto(dmtn[i],dmtn[0],i-1); }

jt.setEditable(false);//设置该树中节点是可编辑的 this.add(jsplr);//将包含树的滚动窗口添加进窗体

jsplr.setLeftComponent(jt);//将包含树的滚动窗口添加进左边的子窗口 jp.setBounds(200,50,600,500);//为jp设置大小位置并添加进右边的子窗口 jsplr.setRightComponent(jp);

jsplr.setDividerLocation(200);//设置分隔条的初始位置 jsplr.setDividerSize(4);//设置分隔条的宽度

jlRoot.setFont(new Font(\jlRoot.setHorizontalAlignment(JLabel.CENTER); jlRoot.setVerticalAlignment(JLabel.CENTER);

//设置窗体的关闭动作,标题,大小,位置及可见性 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Image image=new ImageIcon(\this.setIconImage(image); this.setTitle(\图书管理系统\

//设置窗体首次出现的大小和位置--自动居中

Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); int centerX=screenSize.width/2; int centerY=screenSize.height/2; int w=500;//本窗体宽度 int h=400;//本窗体高度

this.setBounds(centerX-w/2,centerY-h/2-100,w,h);//设置窗体出现在屏幕中央 this.setExtendedState(JFrame.MAXIMIZED_BOTH);//窗体全屏 this.setVisible(true);//设置窗体可见

jt.setShowsRootHandles(true);//设置显示根节点的控制图标 }

public void setManager() {

String sql=\DataBase db=new DataBase();//创建数据库类对象 db.selectDb(sql);//执行查询 try {

db.rs.next();//结果集游标下移

String str=db.rs.getString(1).trim();//得到管理员权限 if(str.equals(\


图书管理系统数据库课程设计实验报告(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:加油站各类安全检查表汇编(通用)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: