Java图书管理系统-附源码
java项目开发实例图书信息管理系统开发及源码

图书信息管理系统一、系统功能概述:根据图书信息管理系统的特点,可以将本系统分为2大功能模块,分别为:基础数据维护、系统数据维护。
本系统各个部分及其包括的具体功能模块如下图所示:二、数据库设计:图书信息表:字段名说明类型长度及备注ISBN 国际标准书号Varchar(13) 主键typeId 图书类型id IntBookname 书名Varchar(40)Writer 作者Varchar(21)Translater 译者Varchar(30) 可以为空Publisher 出版社Varchar(50)Date 出版日期SmalldatetimePrice 价格money图书类别表:字段名说明类型长度及备注TypeName 图书类型Varchar(20)用户信息表:三、系统源代码:ewInstance();conn = (dbUrl, dbUser, dbPwd);"数据库连接成功!");}elsereturn;} catch (Exception ee) {();}}xecuteQuery(sql);} catch (SQLException e) {();return null;} finally {}}xecuteUpdate(sql);} catch (SQLException e) {quals("[Microsoft][SQLServer 2000 Driver forJDBC][SQLServer]DELETE 语句与 COLUMN REFERENCE 约束'FK_TB_BORRO_REFERENCE_TB_BOOKI' 冲突。
该冲突发生于数据库 'db_library',表'tb_borrow', column 'bookISBN'。
"))return -1;} finally {}}etLayout(borderLayo ut);setIconifiable(true); dd(panel);final JLabel label_2 = new JLabel();("图书编号:");(label_2);ISBN = new JTextField("请输入13位书号",13);(new MyDocument(13)); dd(panel_1, ;final FlowLayout flowLayout = new FlowLayout();(2);(30);;(flowLayout);buttonadd= new JButton();(new addBookActionListener());("添加");(buttonadd);buttonclose = new JButton();(new CloseActionListener());("关闭");(buttonclose);final JLabel label_5 = new JLabel();ImageIcon bookAddIcon=("");(bookAddIcon);(new Dimension(400, 80));(new LineBorder, 1, false));getContentPane().add(label_5, ;("新书定购(LOGO图片)");setVisible(true);rim()).isEmpty()){(null, "添加书号重复!");return;}}}class ISBNkeyListener extends KeyAdapter {public void keyPressed(final KeyEvent e) {if () == 13){();}}}class CloseActionListener implements ActionListener { ength()==0){ (null, "书号文本框不可以为空");return;}if().length()!=13){(null, "书号文本框输入位数为13位");return;}if().length()==0){(null, "图书名称文本框不可以为空");return;}if().length()==0){(null, "作者文本框不可以为空");return;}if().length()==0){(null, "出版日期文本框不可以为空");return;}if().length()==0){(null, "单价文本框不可以为空");return;}String ISBNs=().trim();rim();String bookNames=().trim();String writers=().trim();String publishers=(String)().trim();String pubDates=().trim();String prices=().trim();int i=(ISBNs,bookTypes, bookNames, writers, translators, publishers,if(i==1){(null, "添加成功");doDefaultCloseAction();}}}class NumberListener extends KeyAdapter {public void keyTyped(KeyEvent e) {String numStr="09."+(char)8;if())<0){();}}}}et()));results[i][1]=booktypename;results[i][2]=();results[i][3]=();results[i][4]=();results[i][5]=();results[i][6]=();results[i][7]=();}return results;}public BookModiAndDelIFrame() {super();final BorderLayout borderLayout = new BorderLayout();getContentPane().setLayout(borderLayout);setIconifiable(true);setClosable(true);setTitle("图书信息修改与删除");setBounds(100, 100, 640, 406);dd(panel_1, ;final FlowLayout flowLayout = new FlowLayout();(2);(30);;(flowLayout);final JButton button = new JButton();(new addBookActionListener());("修改");(button);final JButton button_2 = new JButton();(new ActionListener(){public void actionPerformed(final ActionEvent e) {String ISBNs=().trim();int i=(ISBNs);if(i==1){(null, "删除成功");Object[][] results=getFileStates());dd(headLogo, ;final JPanel panel_2 = new JPanel();final BorderLayout borderLayout_1 = new BorderLayout();(5);(borderLayout_1);(new EmptyBorder(5, 10, 5, 10));getContentPane().add(panel_2);final JScrollPane scrollPane = new JScrollPane();(scrollPane);Object[][] results=getFileStates());columnNames = new String[]{"图书编号", "图书类别", "图书名称", "作者", "译者", "出版商", "出版日期","价格"};table = new JTable(results,columnNames);;oString().trim();typeids = (selRow, 1).toString().trim();bookNames = (selRow, 2).toString().trim();writers = (selRow, 3).toString().trim();translators = (selRow, 4).toString().trim();publishers = (selRow, 5).toString().trim();dates = (selRow, 6).toString().trim();prices = (selRow, 7).toString().trim();(ISBNs);ength()==0){(null, "书号文本框不可以为空或则输入数字不可以大于13个");return;}if().length()!=13){(null, "书号文本框输入位数为13位");return;}if().length()==0){(null, "图书名称文本框不可以为空");return;}if().length()==0){(null, "作者文本框不可以为空");return;}if().length()==0){(null, "出版人文本框不可以为空");return;}ength()==0){(null, "出版日期文本框不可以为空");return;}if().length()==0){(null, "单价文本框不可以为空");return;}String ISBNs=().trim();rim();String bookNames=().trim();String writers=().trim();String publishers=().trim();String pubDates=().trim();String prices=().trim();int i=(ISBNs, bookTypes, bookNames, writers, translators, publishers, (pubDates), (prices));if(i==1){(null, "修改成功");Object[][] results=getFileStates());+(char)8;if())<0){();}}}}dd(panel, ;final JLabel label_4 = new JLabel();ImageIcon bookTypeAddIcon=("");(bookTypeAddIcon);(new Dimension(360, 80));("图书类别图片(400*80)");(label_4);final JPanel panel_3 = new JPanel();(new FlowLayout());getContentPane().add(panel_3, ;final JLabel label_1 = new JLabel();(new Dimension(20, 50));(label_1);final JLabel label_2 = new JLabel();(new Dimension(90, 20));("图书类别名称:");(label_2);bookTypeName = new JTextField();(new MyDocument(20));(30);(bookTypeName);final JButton button = new JButton();("保存");(new ActionListener(){public void actionPerformed(final ActionEvent e) { if().length()==0){(null, "图书类别文本框不可为空");return;}int i=().trim());if(i==1){(null, "添加成功!");doDefaultCloseAction();}else{(null, "图书类别名已存在,请重新输入!");}}});(button);final JButton buttonDel = new JButton();("关闭");(new ActionListener(){public void actionPerformed(final ActionEvent e) { doDefaultCloseAction();}});(buttonDel);setVisible(true);}class NumberListener extends KeyAdapter {public void keyTyped(KeyEvent e) {String numStr="09."+(char)8;if())<0){();}}}}dd(panel, ;final JLabel logoLabel = new JLabel();ImageIcon bookTypeModiAndDelIcon=("");(bookTypeModiAndDelIcon);(new Dimension(400, 80));("logo");(logoLabel);final JPanel panel_1 = new JPanel();getContentPane().add(panel_1);final JScrollPane scrollPane = new JScrollPane();(new Dimension(400, 130));(scrollPane);model=new DefaultTableModel();Object[][] results=getFileStates());(results,columnNames);table = new JTable();(model);(new TableListener());(table);final JPanel panel_2 = new JPanel();(panel_2);final GridLayout gridLayout = new GridLayout(0, 6);(5);(5);(gridLayout);(new Dimension(400, 26));final JLabel label = new JLabel();("类别编号:");(label);BookTypeId = new JTextField();(false);(BookTypeId);final JLabel label_1 = new JLabel();("类别名称:");(label_1);comboBox = new JComboBox();bookTypeModel= (DefaultComboBoxModel)();oString().trim());(selRow, 1).toString().trim());}}class ButtonAddListener implements ActionListener{ public void actionPerformed(ActionEvent e){Object selectedItem = ();int i=().trim(),());if(i==1){(null, "修改成功");Object[][] results=getFileStates());(results,columnNames);(model);}}}class ButtonDelListener implements ActionListener{public void actionPerformed(ActionEvent e){int i=().trim());if(i==1){(null, "删除成功");Object[][] results=getFileStates());(results,columnNames);(model);}}}class CloseActionListener implements ActionListener {etLayout(borderLayout);setTitle("图书馆管理系统登录");setBounds(100, 100, 285, 194);final JPanel panel = new JPanel();(new BorderLayout());(new EmptyBorder(0, 0, 0, 0));getContentPane().add(panel);final JPanel panel_2 = new JPanel();final GridLayout gridLayout = new GridLayout(0, 2);(5);(20);(gridLayout);(panel_2);final JLabel label = new JLabel();;(new Dimension(0, 0));(new Dimension(0, 0));(label);("用户名:");username = new JTextField(20);(new Dimension(0, 0));(username);final JLabel label_1 = new JLabel();;(label_1);("密码:");password = new JPasswordField(20);(new MyDocument(6));('*');etSystemLookAndFeelClassName());new LoginIFrame();dd(toolBar, ;final JLabel label = new JLabel();(0, 0, 0, 0);(null); etSize();().getSize());("<html><img width=" + + " height="+ + " src='"+ ().getResource("/")+ "'></html>");}});(label,new Integer);getContentPane().add(DESKTOP_PANE);}/*** 创建工具栏** @return JToolBar*/private JToolBar createToolBar() { etLayout(new GridBagLayout());setBounds(100, 100, 300, 228);final JLabel label_4 = new JLabel();(new Font("", , 14));;("<html>注:每个<b>操作员</b>只能修改自己的密码。
用java做的一个图书管理系统的源代码

用java做的一个图书管理系统的源代码import .*;import .*;public class T{public static void main(String[] args) throws Exception{Connection conn=null;Statement stmt=null;ResultSet rs=null;while(true){Scanner scanner=new Scanner;"请输入用户名:");String username2=();"请输入密码:");String password2=();if(!("")||(""))){try{("");conn=("jdbc:odbc:book","","");String sql="select * from ww where username='"+username2+"'";stmt=();rs=(sql);if()){if("password").equals(password2)){"***欢迎来山东科技大学图书馆管理系统**");while(true){" 1.图书信息");" 2.读者信息");" 3.管理员信息");" 4.借阅信息");" 5.还书信息");" 6.逾期罚款或损坏赔偿信息");出");" 请输入选择功能的序号:");int a=();switch(a){case 1:" 图书信息: ");" 1. 查询图书信息: ");" 2. 插入图书信息: ");" 3. 删除图书信息: ");" 4. 修改图书信息: ");int a1=();switch(a1){case 1:" 欢迎进入图书信息查询系统: ");" 1. 无条件查询图书信息: ");" 2. 条件查询图书信息: ");int d=();switch(d){case 1:int llll=0;无条件查询图书信息: ");String Sql0 = "SELECT * FROM systembook ";rs= (Sql0);while()){String bookID =(1);String bookNo =(2);String bookName =(3);String bookWriter =(4);String bookPub =(5);","+bookNo+","+bookName+","+ bookWriter+","+bookPub);}"是否继续插入yes/no no返回主菜单");String k=();if("yes"))};if("no")){llll=1;};}break;条件查询图书信息: ");" 1. 单条件查询图书信息: ");" 2. 模糊条件查询图书信息: ");" 3. 多表连接查询图书信息: ");" 4. 嵌套查询图书信息: ");" 5. 谓词演算查询");int c12=();switch(c12){case 1:" 1.单条件查询: ");" 1.按图书名编码号查询图书信息: ");int ddd=0;while(ddd!=1){"请输入图书编码号:");String A=();String sql1= "SELECT * FROM systembook WHERE bookID ='"+A+"' ";rs= (sql1);int x=0;while()){String a2 =(1);String b2 =(2);String c2 =(3);String d2 =(4);String e2 =(5);","+b2+" ,"+c2+","+d2+","+e2);x++;}if(x==0){"查无此书,请重新输入");else{"是否继续按姓名查询yes/no no返回主菜单");String k=();if("yes")){};if("no")){ddd=1;};};}break;case 2:" 2.模糊查询图书信息: ");int dc=0;while(dc!=1){"请用户输入图书名字中的模糊关键字");String E=();String sq123= "SELECT * FROM systembook WHERE bookName LIKE'"+E+"%'";rs= (sq123);int z=0;while()){String a2 =(1);String b2 =(2);String c2 =(3);String d2 =(4);String e2 =(5);","+b2+" ,"+c2+","+d2+","+e2);z++;}if(z==0){"查无此书,请重新输入");}else{"是否继续输入图书名字中的模糊关键字yes/no no 返回主菜单");String k=();if("yes")){};if("no")){dc=1;表连接查询查询图书信息: ");int dq=0;while(dq!=1){"查询逾期罚款或是赔偿表中的读者的相关信息");"请输入逾期罚款或是赔偿的读者编码号");String F=();String sq1234= "SELECT * FROM fine,borrowbook,systemreader WHERE = AND = AND ='"+F+"' ";rs= (sq1234);int n=0;while()){String a2 =(1);String b2 =(2);String c2 =(3);String d2 =(4);String e2 =(5);","+b2+" ,"+c2+","+d2+","+e2);n++;}if(n==0){"查无此人,请重新输入");}else{"是否继续输入图书名字中的模糊关键字yes/no no返回主菜单");if("yes")){};if("no")){ddd=1;};}}break;case 4:" 4.嵌套查询图书信息: ");int dq1=0;while(dq1!=1){"查询某读者所在年级女读者的相关信息");"请输入某读者的读者编号");String G=();String sq12345= "SELECT * FROM systemreader WHERE reaGrade=(SELECT reaGrade FROM systemreader WHERE reaID='"+G+"') AND reasex='女'";rs= (sq12345);int m=0;while()){String a2 =(1);String b2 =(2);String c2 =(3);String d2 =(4);String e2 =(5);","+b2+" ,"+c2+","+d2+","+e2);m++;}if(m==0){"查无此书,请重新输入");}else{"是否继续输入读者编号yes/no no返回主菜单");if("yes")){};if("no")){d=1;};}}break;case 5:" 5. 谓词演算查询:");int dq1123=0;while(dq1123!=1){"查询借阅了某本书的读者的相关信息");"请输入该书的名字");String H=();String sq123456= "SELECT * FROM systemreader WHERE reaID IN (SELECT reaID FROM borrowbook WHERE bookName='"+H+"')";rs= (sq123456);int l=0;while()){String a2 =(1);String b2 =(2);String c2 =(3);String d2 =(4);String e2 =(5);","+b2+" ,"+c2+","+d2+","+e2);l++;}if(l==0){"查无此人,请重新输入");}else{"是否继续输入图书名字yes/no no返回主菜单");String k=();if("yes")){} ;if("no")){d=1;};}}break;}查询图书信息: ");String Sql = "SELECT * FROM systembook ";rs= (Sql);while()){插入图书信息: ");"请按顺序插入图书条码号,图书索书号,图书名字,图书作者,图书出版社");String str=();String []splitst=(",");String a11=splitst[0];String a12=splitst[1];String a13=splitst[2];String a14=splitst[3];String a15=splitst[4];String insertSql="INSERT INTO systembook(bookID,bookNo,bookName,bookWriter,bookPub)VALUES('"+a11+"','"+a12+"','"+a13+"','"+a14+"','"+a15+"')";int i=(insertSql); 删除图书信息: ");"请输入要删除的图书编号:");String Str=();String []Splitst=(",");String b3=Splitst[0];String sql1="SELECT * FROM systembook where bookID='"+b3+"'";rs= (sql1);int kkk=0;while()){String a22 =(1);String b22 =(2);String c22 =(3);String d22 =(4);String e22 =(5);String f22 =(6);","+b22+" ,"+c22+","+d22+","+e22+","+f22);kkk++;}if(kkk==0){"没有这本书,请重新输入");}else{{String deleSql= "DELETE FROM systembook WHERE bookID='"+b3+"'";int p=(deleSql); 修改图书信息: ");"请输入修改的图书ID ");String S=();String sql1="SELECT * FROM systembook where bookID='"+S+"'";rs= (sql1);int lll=0;while()){String a222 =(1);String b222 =(2);String c222 =(3);String d222 =(4);String e222 =(5);String f222 =(6);","+b222+" ,"+c222+","+d222+","+e222+","+f222);lll++;}if(lll==0){"没有这本书,请重新输入");}else{"要将书名改为");String bbb=();String updateSql1="UPDATE systembook SET bookName='"+bbb+"' WHERE bookID='"+S+"'";int hh=(updateSql1); 查询读者信息: ");" 2. 插入读者信息: ");" 3. 删除读者信息: ");" 4. 修改读者信息: " );int b1=();switch(b1){case 1:" 1. 查询读者信息: ");String ssql = "SELECT * FROM systemreader ";rs= (ssql);while()){插入读者信息: ");"请按顺序插入借书卡证号读者名字读者学号读者性别读者LBID 读者类型读者学院读者年级读者专业办证日期");String str=();String []splitst=(",");String b11=splitst[0];String b12=splitst[1];String b13=splitst[2];String b14=splitst[3];String b15=splitst[4];String b16=splitst[5];String b17=splitst[6];String b18=splitst[7];String b19=splitst[8];String b20=splitst[9];String insertSql="INSERT INTO systemreader(reaID,reaName,reaNo,reaSex,reaLBID,reaType,reaDep,reaGrade,reaPre,reaDate) VALUES('"+b11+"','"+b12+"','"+b13+"','"+b14+"','"+b15+"','"+b16+"','"+b17+"','"+b18+"','"+b19+"' ,'"+b20+"')";int n=(insertSql); 删除读者信息: ");"请输入要删除的读者证号:");String Str=();String []Splitst=(",");String r=Splitst[0];String sql1="SELECT * FROM systemreader where reaID='"+r+"'";rs= (sql1);int kkk=0;while()){String a22 =(1);String b22 =(2);String c22 =(3);String d22 =(4);String e22 =(5);String f22 =(6);String g22 =(7);String h22 =(8);String i22 =(9);","+b22+" ,"+c22+","+d22+","+e22+","+f22+","+g22+","+h22+","+i22);kkk++;}if(kkk==0){"没有这个读者,请重新输入");}else{修改读者信息: ");"请输入修改以后的读者的ID ");String S=();查询管理员信息: ");" 2. 插入管理员信息: ");" 3. 删除管理员信息: ");" 4. 修改管理员信息: ");" 5. 返回上一级");int c11=();switch(c11){case 1:" 1. 查询管理员信息: ");String Ssql = "SELECT * FROM manager ";rs= (Ssql);while()){插入管理员信息: ");"请按顺序插入管理员的编号,管理员的姓名,管理员的性别,所管书库,电话,地址");String str=();String []splitst=(",");String a11=splitst[0];String a12=splitst[1];String a13=splitst[2];String a14=splitst[3];String a15=splitst[4];String a16=splitst[5];String insertSql="INSERT INTO manager(mID,mName,mSex,mAuth,mTeleph,mAddre)VALUES('"+a11+"','"+a12+"','"+a13+"','"+a14+"','"+a15+"','"+a16+"')";int i=(insertSql); 删除管理员信息: ");"请输入要删除的管理员编号:");String Str=();String []Splitst=(",");String b3=Splitst[0];String sql1="SELECT * FROM manager where mID='"+b3+"'";rs= (sql1);int kkk=0;while()){String a22 =(1);String b22 =(2);String c22 =(3);String d22 =(4);String e22 =(5);String f22 =(6);","+b22+" ,"+c22+","+d22+","+e22+","+f22);kkk++;}if(kkk==0){"没有这个管理员,请重新输入");}else{修改管理员信息: ");"请输入要修改的管理员编号:");String S=();String []Ssplitst=(",");String c1=Ssplitst[0];String sql1="SELECT * FROM manager where mID='"+S+"'";rs= (sql1);int lll=0;while()){String a222 =(1);String b222 =(2);String c222 =(3);String d222 =(4);String e222 =(5);String f222 =(6);","+b222+" ,"+c222+","+d222+","+e222+","+f222);lll++;}if(lll==0){"没有这个管理员,请重新输入");}else{查询图书借阅信息信息: ");" 2. 插入图书借阅信息: ");" 3. 删除图书借阅信息: ");" 4. 修改图书借阅信息: ");" 5. 返回上一级");int d=();switch(d){case 1:" 1. 查询图书借阅信息: ");String Sql4 = "SELECT * FROM borrowbook ";rs= (Sql4);while()){String bookID =(1);String reaID =(2);String outDate =(3);String yhDate =(4);","+reaID+","+outDate+","+yhDate);}break;case 2:int zz=0;while(zz!=1){" 2. 插入图书借阅信息: ");"请按顺序插入图书的的编号,读者编号,图书借出日期,图书归还日期");String str=();String []splitst=(",");String a11=splitst[0];String a12=splitst[1];String a13=splitst[2];String a14=splitst[3];删除图书借阅信息: ");"请输入要删除的图书条码号:");String Str=();String []Splitst=(",");String b3=Splitst[0];String sql1="SELECT * FROM borrowbook where bookID='"+b3+"'";rs= (sql1);int kkk=0;while()){String a22 =(1);String b22 =(2);String c22 =(3);String d22 =(4);修改借阅读书信息: ");"请输入要修改的图书的ID ");String S=();String []Ssplitst=(",");String c1=Ssplitst[0];String sql1="SELECT * FROM borrowbook where bookID='"+S+"'";rs= (sql1);int lll=0;while()){String a222 =(1);String b222 =(2);String c222 =(3);String d222 =(4);查询还书信息: ");" 2. 插入还书信息: ");" 3. 删除还书信息: ");" 4. 修改还书信息: ");" 5. 返回上一级");int e=();switch(e){case 1:" 1. 查询还书信息: ");sql = "SELECT * FROM return ";rs= (sql);while()){String reaID =(1);String bookID =(2);String bookName =(3);String inDate =(4);","+bookID+","+bookName+","+ inDate);}break;case 2:" 2. 插入还书信息: ");"请按顺序插入读者卡号,图书编号,图书名称,还书日期");String str=();String []splitst=(",");String e1=splitst[0];String e2=splitst[1];String e3=splitst[2];String e4=splitst[3];String insertSql="INSERT INTO returnbook(reaID,bookID,bookName,inDate) VALUES('"+e1+"','"+e2+"','"+e3+"','"+e4+"')";int h=(insertSql); 删除还书书信息: ");"请输入要删除的读者证号:");String Str=();String []Splitst=(",");String f3=Splitst[0];String deleSql= "DELETE FROM return WHERE reaID='"+f3+"'";int w=(deleSql); 查询罚款信息: ");" 2. 插入罚款信息: ");" 3. 删除罚款信息: ");" 4. 修改罚款信息: ");int g=();switch(g){case 1:" 1. 查询罚款信息: ");String Sssql = "SELECT * FROM fine ";rs= (Sssql);while()){插入罚款信息: ");"请按顺序插入读者卡号,图书编号,借书日期,超出日期,应缴罚款");String str=();String []splitst=(",");String g1=splitst[0];String g2=splitst[1];String g3=splitst[2];String g4=splitst[3];String g5=splitst[4];删除罚款信息: ");"请输入要删除的读者证号:");String Str=();String []Splitst=(",");String r=Splitst[0];String deleSql= "DELETE FROM fine WHERE reaID='"+r+"'";int x=(deleSql); 查询借阅历史信息: ");" 2. 插入借阅历史信息: ");" 3. 删除借阅历史信息: ");" 4. 修改借阅历史信息: ");" 5. 返回上一级");int h=();switch(h){" 1. 查询历史借阅信息: ");String Sql7 = "SELECT * FROM borrowhistory ";rs= (Sql7);while()){String bookID =(1);String reaID =(2);String bookName=(3);String bookWriter=(4);String outDate =(5);String yhDate =(6);","+reaID+","+bookName+","+bookWriter+","+outDate+","+yhDate);}break;case 2:" 2. 插入图书历史借阅信息: ");"请按顺序插入图书的的编号,读者编号,,图书借出日期,图书归还日期");String str=();String []splitst=(",");String a11=splitst[0];String a12=splitst[1];String a13=splitst[2];String a14=splitst[3];删除图书历史借阅信息: ");"请输入要删除的图书条码号:");String Str=();String []Splitst=(",");String d3=Splitst[0];String deleSql= "DELETE bookID FROM borrowhistory WHERE bookID='"+d3+"'";int k=(deleSql); 修改图书借阅历史信息: ");"请输入要修改的图书的借出日期");String S=();String []Ssplitst=(",");String c1=Ssplitst[0];String updateSql="UPDATE borrow SET outDate='"+c1+"' WHERE bookName='数据库'";int t=(updateSql); //返回记录影响的条数if(t!=0){"修改成功!");}break;}}}}}else{"非法用户!");}}catch(SQLException e) {();}//();();();}}}}。
java项目开发实例图书信息管理系统开发及源码

j a v a项目开发实例图书信息管理系统开发及源码集团文件发布号:(9816-UATWW-MWUB-WUNN-INNUL-DQQTY-图书信息管理系统一、系统功能概述:根据图书信息管理系统的特点,可以将本系统分为2大功能模块,分别为:基础数据维护、系统数据维护。
本系统各个部分及其包括的具体功能模块如下图所示:二、数据库设计:图书信息表:图书类别表:用户信息表:读者信息表:三、系统源代码:ewInstance();conn = (dbUrl, dbUser, dbPwd);"数据库连接成功!");}elsereturn;} catch (Exception ee) {();}}xecuteQuery(sql);} catch (SQLException e) {();return null;} finally {}}xecuteUpdate(sql);} catch (SQLException e) {quals("[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]DELETE 语句与 COLUMN REFERENCE 约束'FK_TB_BORRO_REFERENCE_TB_BOOKI' 冲突。
该冲突发生于数据库'db_library',表 'tb_borrow', column 'bookISBN'。
"))return -1;} finally {}}etLayout(borderLayout);setIconifiable(true); dd(panel);final JLabel label_2 = new JLabel();("图书编号:");(label_2);ISBN = new JTextField("请输入13位书号",13);(new MyDocument(13)); dd(panel_1, ;final FlowLayout flowLayout = new FlowLayout();(2);(30);;(flowLayout);buttonadd= new JButton();(new addBookActionListener()); ("添加");(buttonadd);buttonclose = new JButton();(new CloseActionListener());("关闭");(buttonclose);final JLabel label_5 = new JLabel(); ImageIcon bookAddIcon=(""); (bookAddIcon);(new Dimension(400, 80));(new LineBorder, 1, false)); getContentPane().add(label_5, ; ("新书定购(LOGO图片)");setVisible(true);rim()).isEmpty()){(null, "添加书号重复!");return;}}}class ISBNkeyListener extends KeyAdapter {public void keyPressed(final KeyEvent e) {if () == 13){();}}}class CloseActionListener implements ActionListener { ength()==0){(null, "书号文本框不可以为空");return;}if().length()!=13){(null, "书号文本框输入位数为13位");return;}if().length()==0){(null, "图书名称文本框不可以为空");return;}if().length()==0){(null, "作者文本框不可以为空");return;}if().length()==0){(null, "出版日期文本框不可以为空");return;}if().length()==0){(null, "单价文本框不可以为空");return;}String ISBNs=().trim();rim();String bookNames=().trim();String writers=().trim();String publishers=(String)().trim();String pubDates=().trim();String prices=().trim();int i=(ISBNs,bookTypes, bookNames, writers, translators, publishers, if(i==1){(null, "添加成功");doDefaultCloseAction();}}}class NumberListener extends KeyAdapter { public void keyTyped(KeyEvent e) {String numStr="09."+(char)8;if())<0){();}}}}et()));results[i][1]=booktypename;results[i][2]=();results[i][3]=();results[i][4]=();results[i][5]=();results[i][6]=();results[i][7]=();}return results;}public BookModiAndDelIFrame() {super();final BorderLayout borderLayout = new BorderLayout();getContentPane().setLayout(borderLayout);setIconifiable(true);setClosable(true);setTitle("图书信息修改与删除");setBounds(100, 100, 640, 406);dd(panel_1, ;final FlowLayout flowLayout = new FlowLayout();(2);(30);;(flowLayout);final JButton button = new JButton();(new addBookActionListener());("修改");(button);final JButton button_2 = new JButton();(new ActionListener(){public void actionPerformed(final ActionEvent e) {String ISBNs=().trim();int i=(ISBNs);if(i==1){(null, "删除成功");Object[][] results=getFileStates());dd(headLogo, ;final JPanel panel_2 = new JPanel();final BorderLayout borderLayout_1 = new BorderLayout();(5);(borderLayout_1);(new EmptyBorder(5, 10, 5, 10));getContentPane().add(panel_2);final JScrollPane scrollPane = new JScrollPane();(scrollPane);Object[][] results=getFileStates());columnNames = new String[]{"图书编号", "图书类别", "图书名称", "作者", "译者", "出版商", "出版日期","价格"};table = new JTable(results,columnNames);;oString().trim();typeids = (selRow, 1).toString().trim();bookNames = (selRow, 2).toString().trim();writers = (selRow, 3).toString().trim();translators = (selRow, 4).toString().trim();publishers = (selRow, 5).toString().trim();dates = (selRow, 6).toString().trim();prices = (selRow, 7).toString().trim();(ISBNs);ength()==0){(null, "书号文本框不可以为空或则输入数字不可以大于13个");return;}if().length()!=13){(null, "书号文本框输入位数为13位");return;}if().length()==0){(null, "图书名称文本框不可以为空");return;}if().length()==0){(null, "作者文本框不可以为空");return;}if().length()==0){(null, "出版人文本框不可以为空");}ength()==0){(null, "出版日期文本框不可以为空");return;}if().length()==0){(null, "单价文本框不可以为空");return;}String ISBNs=().trim();rim();String bookNames=().trim();String writers=().trim();String publishers=().trim();String pubDates=().trim();String prices=().trim();int i=(ISBNs, bookTypes, bookNames, writers, translators, publishers, (pubDates), (prices));if(i==1){(null, "修改成功");Object[][] results=getFileStates());+(char)8;();}}}}dd(panel, ;final JLabel label_4 = new JLabel();ImageIcon bookTypeAddIcon=("");(bookTypeAddIcon);(new Dimension(360, 80));("图书类别图片(400*80)");(label_4);final JPanel panel_3 = new JPanel();(new FlowLayout());getContentPane().add(panel_3, ;final JLabel label_1 = new JLabel();(new Dimension(20, 50));(label_1);final JLabel label_2 = new JLabel();(new Dimension(90, 20));("图书类别名称:");(label_2);(new MyDocument(20));(30);(bookTypeName);final JButton button = new JButton();("保存");(new ActionListener(){public void actionPerformed(final ActionEvent e) { if().length()==0){(null, "图书类别文本框不可为空");return;}int i=().trim());if(i==1){(null, "添加成功!");doDefaultCloseAction();}else{(null, "图书类别名已存在,请重新输入!");}}});(button);final JButton buttonDel = new JButton();(new ActionListener(){public void actionPerformed(final ActionEvent e) {doDefaultCloseAction();}});(buttonDel);setVisible(true);}class NumberListener extends KeyAdapter {public void keyTyped(KeyEvent e) {String numStr="09."+(char)8;if())<0){();}}}}dd(panel, ;final JLabel logoLabel = new JLabel();ImageIcon bookTypeModiAndDelIcon=("");(bookTypeModiAndDelIcon);(new Dimension(400, 80));(logoLabel);final JPanel panel_1 = new JPanel(); getContentPane().add(panel_1);final JScrollPane scrollPane = new JScrollPane(); (new Dimension(400, 130));(scrollPane);model=new DefaultTableModel();Object[][] results=getFileStates());(results,columnNames);table = new JTable();(model);(new TableListener());(table);final JPanel panel_2 = new JPanel();(panel_2);final GridLayout gridLayout = new GridLayout(0, 6);(5);(5);(gridLayout);(new Dimension(400, 26));final JLabel label = new JLabel();("类别编号:");BookTypeId = new JTextField();(false);(BookTypeId);final JLabel label_1 = new JLabel();("类别名称:");(label_1);comboBox = new JComboBox();bookTypeModel= (DefaultComboBoxModel)();oString().trim());(selRow, 1).toString().trim());}}class ButtonAddListener implements ActionListener{ public void actionPerformed(ActionEvent e){Object selectedItem = ();int i=().trim(),());if(i==1){(null, "修改成功");Object[][] results=getFileStates());(results,columnNames);(model);}}class ButtonDelListener implements ActionListener{ public void actionPerformed(ActionEvent e){int i=().trim());if(i==1){(null, "删除成功");Object[][] results=getFileStates());(results,columnNames);(model);}}}class CloseActionListener implements ActionListener { etLayout(borderLayout);setTitle("图书馆管理系统登录");setBounds(100, 100, 285, 194);final JPanel panel = new JPanel();(new BorderLayout());(new EmptyBorder(0, 0, 0, 0));getContentPane().add(panel);final JPanel panel_2 = new JPanel();final GridLayout gridLayout = new GridLayout(0, 2);(20);(gridLayout);(panel_2);final JLabel label = new JLabel();;(new Dimension(0, 0));(new Dimension(0, 0));(label);("用户名:");username = new JTextField(20);(new Dimension(0, 0));(username);final JLabel label_1 = new JLabel(); ;(label_1);("密码:");password = new JPasswordField(20); (new MyDocument(6));('*');etSystemLookAndFeelClassName());new LoginIFrame();dd(toolBar, ; final JLabel label = new JLabel(); (0, 0, 0, 0);().getSize());("<html><img width=" + + " height="+ + " src='"+ ().getResource("/")+ "'></html>");}});(label,new Integer);getContentPane().add(DESKTOP_PANE);}/*** 创建工具栏** @return JToolBar*/private JToolBar createToolBar() { etLayout(new GridBagLayout());setBounds(100, 100, 300, 228);final JLabel label_4 = new JLabel();(new Font("", , 14));;("<html>注:每个<b>操作员</b>只能修改自己的密码。
java图书管理系统代码版

目录第1章本设计所要达到的目的和要求1.1 设计目的1.2 设计要求第2章设计内容第3 章开发和运行环境介绍第4章需求分析1、本设计所要达到的目的和要求1.1 设计目的管理信息系统(MIS)的应用已深入到社会的各行各业,它是信息、软件与科学管理相结合的产物。
MIS的开发过程不仅是一个编写应用程序的过程,而且是一个以软件工程的思想为指导,从可行性研究开始,经过系统分析、系统设计、系统实施到等主要阶段的规范开发过程。
本题目实现的是JAVA系统,我们选择的是图书馆管理系统,不同角色的用户登录,用户信息的管理包括密码管理,及用户借还书,用户对图书信息及本人借还情况的查询,超级管理员对图书信息的增删查改,用户信息的增删查改及借还情况总的查询。
1.2 设计要求1、主题明确,软体开发要有创新性,能体现SQL的存储过程、触发器、游标技术等;2、用高级语言结合SQL Server数据库进行开发;3、写出数据库关系模式及相应的数据库表关系图;4、绘制成绩MIS相应的系统流程图、E-R图等;5、完成成绩MIS登陆界面、主界面、图书信息录入、图书信息查询和其各项设计与操作。
2、设计内容我们设计的图书馆管理系统主要用于对图书馆日常工作的管理,主要任务是用计算机对读者、图书等各种信息进行日常管理,如查询、修改、增加、删除、图书借阅和归还的管理等。
本系统实现了图书馆的信息化管理,完成了图书馆管理系统的基本功能。
该系统主要包括读者用户登录系统、管理员用户登入系统、图书管理系统、图书借阅、图书和用户信息查询子系统四个部分,各部分主要功能如下:读者用户登录子系统:用于数据库的连接,主界面的设计和读者身份用户的登录管理。
管理员用户登入系统:用于管理员用户的管理,如图书添加、图书信息修改。
图书管理系统:用于图书信息的管理,如新书入库、图书信息修改、图书信息删除。
图书借阅系统:用于用户借阅和归还图书。
图书和用户信息查询:图书和用户信息的查询。
Java-项目开发实例-图书信息管理系统开发文档及源码教学内容

图书信息管理系统一、系统功能概述:根据图书信息管理系统的特点,可以将本系统分为2大功能模块,分别为:基础数据维护、系统数据维护。
本系统各个部分及其包括的具体功能模块如下图所示:二、数据库设计:图书信息表:图书类别表:用户信息表:三、系统源代码:Com.zhang.dao:Dao.java //数据库的连接与操作类package com.zhang.dao;import java.sql.Connection;import java.sql.Date;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import com.zhang.model.BookInfo;import com.zhang.model.BookType;import com.zhang.model.Operator;import com.zhang.model.Reader;import er;public class Dao {protected static String dbClassName ="com.microsoft.sqlserver.jdbc.SQLServerDriver";protected static String dbUrl = "jdbc:sqlserver://localhost:1433;"+ "DatabaseName=db_lib;SelectMethod=Cursor";protected static String dbUser = "sa";protected static String dbPwd = "zhangyong";protected static String second = null;private static Connection conn = null;//创建数据库连接private Dao() {try {if (conn == null) {Class.forName(dbClassName).newInstance();conn= DriverManager.getConnection(dbUrl, dbUser, dbPwd);System.out.println("数据库连接成功!");}elsereturn;} catch (Exception ee) {ee.printStackTrace();}}//执行查询private static ResultSet executeQuery(String sql) {try {if(conn==null)new Dao();returnconn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR _UPDATABLE).executeQuery(sql);} catch (SQLException e) {e.printStackTrace();return null;} finally {}}//执行更新private static int executeUpdate(String sql) {try {if(conn==null)new Dao();return conn.createStatement().executeUpdate(sql);} catch (SQLException e) {System.out.println(e.getMessage());//if(e.getMessage().equals("[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]DELETE 语句与 COLUMN REFERENCE 约束'FK_TB_BORRO_REFERENCE_TB_BOOKI' 冲突。
Java项目开发实例图书信息管理系统开发及源码-73页文档资料

图书信息管理系统一、系统功能概述:根据图书信息管理系统的特点,可以将本系统分为2大功能模块,分别为:基础数据维护、系统数据维护。
本系统各个部分及其包括的具体功能模块如下图所示:二、数据库设计:图书信息表:读者信息表:三、系统源代码:Com.zhang.dao:Dao.java //数据库的连接与操作类package com.zhang.dao;import java.sql.Connection;import java.sql.Date;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import com.zhang.model.BookInfo;import com.zhang.model.BookType;import com.zhang.model.Operator;import com.zhang.model.Reader;import er;public class Dao {protected static String dbClassName ="com.microsoft.sqlserver.jdbc.SQLServerDriver";protected static String dbUrl = "jdbc:sqlserver://localhost:1433;"+ "DatabaseName=db_lib;SelectMethod=Cursor";protected static String dbUser = "sa";protected static String dbPwd = "zhangyong";protected static String second = null;private static Connection conn = null;//创建数据库连接private Dao() {try {if (conn == null) {Class.forName(dbClassName).newInstance();conn= DriverManager.getConnection(dbUrl, dbUser, dbPwd);System.out.println("数据库连接成功!");elsereturn;} catch (Exception ee) {ee.printStackTrace();//执行查询private static ResultSet executeQuery(String sql) {try {if(conn==null)new Dao();returnconn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR _UPDATABLE).executeQuery(sql);} catch (SQLException e) {e.printStackTrace();return null;} finally {//执行更新private static int executeUpdate(String sql) {try {if(conn==null)new Dao();return conn.createStatement().executeUpdate(sql);} catch (SQLException e) {System.out.println(e.getMessage());//if(e.getMessage().equals("[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]DELETE 语句与 COLUMN REFERENCE 约束'FK_TB_BORRO_REFERENCE_TB_BOOKI' 冲突。
用java做的一个图书管理系统的源代码

用j a v a做的一个图书管理系统的源代码标准化文件发布号:(9312-EUATWW-MWUB-WUNN-INNUL-DQQTY-用java做的一个图书管理系统的源代码import .*;import .*;public class T{public static void main(String[] args) throws Exception{Connection conn=null;Statement stmt=null;ResultSet rs=null;while(true){Scanner scanner=new Scanner;"请输入用户名:");String username2=();"请输入密码:");String password2=();if(!("")||(""))){try{("");conn=("jdbc:odbc:book","","");String sql="select * from ww where username='"+username2+"'"; stmt=();rs=(sql);if()){if("password").equals(password2)){"*********欢迎来山东科技大学图书馆管理系统********"); while(true){" 1.图书信息 ");" 2.读者信息 ");" 3.管理员信息 ");" 4.借阅信息 ");" 5.还书信息 ");" 6.逾期罚款或损坏赔偿信息");出 ");" 请输入选择功能的序号 :");int a=();switch(a){case 1:" 图书信息: ");" 1. 查询图书信息: ");" 2. 插入图书信息: ");" 3. 删除图书信息: ");" 4. 修改图书信息: ");int a1=();switch(a1){case 1:" 欢迎进入图书信息查询系统: ");" 1. 无条件查询图书信息: ");" 2. 条件查询图书信息: ");int d=();switch(d){case 1:int llll=0;无条件查询图书信息: ");String Sql0 = "SELECT * FROM systembook ";rs= (Sql0);while()){String bookID =(1);String bookNo =(2);String bookName =(3);String bookWriter =(4);String bookPub =(5);","+bookNo+","+bookName+","+ bookWriter+","+bookPub); }"是否继续插入yes/no no返回主菜单");String k=();if("yes")){};if("no")){llll=1;};}break;条件查询图书信息: ");" 1. 单条件查询图书信息: ");" 2. 模糊条件查询图书信息: ");" 3. 多表连接查询图书信息: ");" 4. 嵌套查询图书信息: ");" 5. 谓词演算查询 ");int c12=();switch(c12){case 1:" 1.单条件查询: ");" 1.按图书名编码号查询图书信息: ");int ddd=0;while(ddd!=1){"请输入图书编码号:");String A=();String sql1= "SELECT * FROM systembook WHERE bookID ='"+A+"' ";rs= (sql1);int x=0;while()){String a2 =(1);String b2 =(2);String c2 =(3);String d2 =(4);String e2 =(5);","+b2+" ,"+c2+","+d2+","+e2);x++;}if(x==0){"查无此书,请重新输入");}else{"是否继续按姓名查询yes/no no返回主菜单");String k=();if("yes")){};if("no")){ddd=1;};};}break;case 2:" 2.模糊查询图书信息: ");int dc=0;while(dc!=1){"请用户输入图书名字中的模糊关键字");String E=();String sq123= "SELECT * FROM systembook WHERE bookName LIKE'"+E+"%'";rs= (sq123);int z=0;while()){String a2 =(1);String b2 =(2);String c2 =(3);String d2 =(4);String e2 =(5);","+b2+" ,"+c2+","+d2+","+e2);z++;}if(z==0){"查无此书,请重新输入");else{"是否继续输入图书名字中的模糊关键字yes/no no返回主菜单");String k=();if("yes")){};if("no")){dc=1;表连接查询查询图书信息: ");int dq=0;while(dq!=1){"查询逾期罚款或是赔偿表中的读者的相关信息");"请输入逾期罚款或是赔偿的读者编码号");String F=();String sq1234= "SELECT * FROM fine,borrowbook,systemreader WHERE = AND = AND ='"+F+"' ";rs= (sq1234);int n=0;while()){String a2 =(1);String b2 =(2);String c2 =(3);String d2 =(4);String e2 =(5);","+b2+" ,"+c2+","+d2+","+e2);n++;}if(n==0){"查无此人,请重新输入");}else{"是否继续输入图书名字中的模糊关键字yes/no no返回主菜单");String k=();if("yes")){};if("no")){ddd=1;};}}break;case 4:" 4.嵌套查询图书信息: ");int dq1=0;while(dq1!=1){"查询某读者所在年级女读者的相关信息");"请输入某读者的读者编号");String G=();String sq12345= "SELECT * FROM systemreader WHERE reaGrade=(SELECT reaGrade FROM systemreader WHERE reaID='"+G+"') AND reasex='女'";rs= (sq12345);int m=0;while()){String a2 =(1);String b2 =(2);String c2 =(3);String d2 =(4);String e2 =(5);","+b2+" ,"+c2+","+d2+","+e2);m++;}if(m==0){"查无此书,请重新输入");}else{"是否继续输入读者编号yes/no no返回主菜单");String k=();if("yes"))};if("no")){d=1;};}}break;case 5:" 5. 谓词演算查询: ");int dq1123=0;while(dq1123!=1){"查询借阅了某本书的读者的相关信息");"请输入该书的名字");String H=();String sq123456= "SELECT * FROM systemreader WHERE reaID IN (SELECT reaID FROM borrowbook WHERE bookName='"+H+"')";rs= (sq123456);int l=0;while()){String a2 =(1);String b2 =(2);String c2 =(3);String d2 =(4);String e2 =(5);","+b2+" ,"+c2+","+d2+","+e2);l++;}if(l==0){"查无此人,请重新输入");}else{"是否继续输入图书名字yes/no no返回主菜单");String k=();if("yes")){};if("no")){d=1;};}}break;}查询图书信息: ");String Sql = "SELECT * FROM systembook ";rs= (Sql);while()){插入图书信息: ");"请按顺序插入图书条码号,图书索书号,图书名字,图书作者,图书出版社");String str=();String []splitst=(",");String a11=splitst[0];String a12=splitst[1];String a13=splitst[2];String a14=splitst[3];String a15=splitst[4];String insertSql="INSERT INTOsystembook(bookID,bookNo,bookName,bookWriter,bookPub)VALUES('"+a11+"','"+a12+"','"+a13+"','"+a14+"','"+a15+"')";int i=(insertSql); 删除图书信息: ");"请输入要删除的图书编号:");String Str=();String []Splitst=(",");String b3=Splitst[0];String sql1="SELECT * FROM systembook where bookID='"+b3+"'";rs= (sql1);int kkk=0;while()){String a22 =(1);String b22 =(2);String c22 =(3);String d22 =(4);String e22 =(5);String f22 =(6);","+b22+" ,"+c22+","+d22+","+e22+","+f22);kkk++;}if(kkk==0){"没有这本书,请重新输入");}else{{String deleSql= "DELETE FROM systembook WHERE bookID='"+b3+"'";int p=(deleSql); 修改图书信息: ");"请输入修改的图书ID ");String S=();String sql1="SELECT * FROM systembook where bookID='"+S+"'"; rs= (sql1);int lll=0;while()){String a222 =(1);String b222 =(2);String c222 =(3);String d222 =(4);String e222 =(5);String f222 =(6);","+b222+" ,"+c222+","+d222+","+e222+","+f222);lll++;}if(lll==0){"没有这本书,请重新输入");}else{"要将书名改为");String bbb=();String updateSql1="UPDATE systembook SET bookName='"+bbb+"' WHERE bookID='"+S+"'";int hh=(updateSql1); 查询读者信息: ");" 2. 插入读者信息: ");" 3. 删除读者信息: ");" 4. 修改读者信息: " );int b1=();switch(b1){case 1:" 1. 查询读者信息: ");String ssql = "SELECT * FROM systemreader ";rs= (ssql);while()){插入读者信息: ");"请按顺序插入借书卡证号读者名字读者学号读者性别读者LBID 读者类型读者学院读者年级读者专业办证日期");String str=();String []splitst=(",");String b11=splitst[0];String b12=splitst[1];String b13=splitst[2];String b14=splitst[3];String b15=splitst[4];String b16=splitst[5];String b17=splitst[6];String b18=splitst[7];String b19=splitst[8];String b20=splitst[9];String insertSql="INSERT INTOsystemreader(reaID,reaName,reaNo,reaSex,reaLBID,reaType,reaDep,reaGrade,reaPr e,reaDate)VALUES('"+b11+"','"+b12+"','"+b13+"','"+b14+"','"+b15+"','"+b16+"','"+b17+"','"+b18 +"','"+b19+"','"+b20+"')";int n=(insertSql); 删除读者信息: ");"请输入要删除的读者证号:");String Str=();String []Splitst=(",");String r=Splitst[0];String sql1="SELECT * FROM systemreader where reaID='"+r+"'";rs= (sql1);int kkk=0;while()){String a22 =(1);String b22 =(2);String c22 =(3);String d22 =(4);String e22 =(5);String f22 =(6);String g22 =(7);String h22 =(8);String i22 =(9);","+b22+" ,"+c22+","+d22+","+e22+","+f22+","+g22+","+h22+","+i22); kkk++;}if(kkk==0){"没有这个读者,请重新输入");}else{修改读者信息: ");"请输入修改以后的读者的ID ");String S=();查询管理员信息: ");" 2. 插入管理员信息: ");" 3. 删除管理员信息: ");" 4. 修改管理员信息: ");" 5. 返回上一级 ");int c11=();switch(c11){case 1:" 1. 查询管理员信息: ");String Ssql = "SELECT * FROM manager ";rs= (Ssql);while()){插入管理员信息: ");"请按顺序插入管理员的编号,管理员的姓名,管理员的性别,所管书库,电话,地址");String str=();String []splitst=(",");String a11=splitst[0];String a12=splitst[1];String a13=splitst[2];String a14=splitst[3];String a15=splitst[4];String a16=splitst[5];String insertSql="INSERT INTOmanager(mID,mName,mSex,mAuth,mTeleph,mAddre)VALUES('"+a11+"','"+a12+"','"+a13+"','"+a14+"','"+a15+"','"+a16+"')";int i=(insertSql); 删除管理员信息: ");"请输入要删除的管理员编号:");String Str=();String []Splitst=(",");String b3=Splitst[0];String sql1="SELECT * FROM manager where mID='"+b3+"'";rs= (sql1);int kkk=0;while()){String a22 =(1);String b22 =(2);String c22 =(3);String d22 =(4);String e22 =(5);String f22 =(6);","+b22+" ,"+c22+","+d22+","+e22+","+f22);kkk++;}if(kkk==0){"没有这个管理员,请重新输入");}else{修改管理员信息: ");"请输入要修改的管理员编号: ");String S=();String []Ssplitst=(",");String c1=Ssplitst[0];String sql1="SELECT * FROM manager where mID='"+S+"'"; rs= (sql1);int lll=0;while()){String a222 =(1);String b222 =(2);String c222 =(3);String d222 =(4);String e222 =(5);String f222 =(6);","+b222+" ,"+c222+","+d222+","+e222+","+f222); lll++;}if(lll==0){"没有这个管理员,请重新输入");}else{查询图书借阅信息信息: ");" 2. 插入图书借阅信息: ");" 3. 删除图书借阅信息: ");" 4. 修改图书借阅信息: ");" 5. 返回上一级 ");int d=();switch(d){case 1:" 1. 查询图书借阅信息: ");String Sql4 = "SELECT * FROM borrowbook ";rs= (Sql4);while()){String bookID =(1);String reaID =(2);String outDate =(3);String yhDate =(4);","+reaID+","+outDate+","+yhDate);}break;case 2:int zz=0;while(zz!=1){" 2. 插入图书借阅信息: ");"请按顺序插入图书的的编号,读者编号,图书借出日期,图书归还日期");String str=();String []splitst=(",");String a11=splitst[0];String a12=splitst[1];String a13=splitst[2];String a14=splitst[3];删除图书借阅信息: ");"请输入要删除的图书条码号:");String Str=();String []Splitst=(",");String b3=Splitst[0];String sql1="SELECT * FROM borrowbook where bookID='"+b3+"'";rs= (sql1);int kkk=0;while()){String a22 =(1);String b22 =(2);String c22 =(3);String d22 =(4);修改借阅读书信息: ");"请输入要修改的图书的ID ");String S=();String []Ssplitst=(",");String c1=Ssplitst[0];String sql1="SELECT * FROM borrowbook where bookID='"+S+"'";rs= (sql1);int lll=0;while()){String a222 =(1);String b222 =(2);String c222 =(3);String d222 =(4);查询还书信息: ");" 2. 插入还书信息: ");" 3. 删除还书信息: ");" 4. 修改还书信息: ");" 5. 返回上一级 ");int e=();switch(e){case 1:" 1. 查询还书信息: ");sql = "SELECT * FROM return ";rs= (sql);while()){String reaID =(1);String bookID =(2);String bookName =(3);String inDate =(4);","+bookID+","+bookName+","+ inDate);}break;case 2:" 2. 插入还书信息: ");"请按顺序插入读者卡号,图书编号,图书名称,还书日期");String str=();String []splitst=(",");String e1=splitst[0];String e2=splitst[1];String e3=splitst[2];String e4=splitst[3];String insertSql="INSERT INTOreturnbook(reaID,bookID,bookName,inDate)VALUES('"+e1+"','"+e2+"','"+e3+"','"+e4+"')";int h=(insertSql); 删除还书书信息: ");"请输入要删除的读者证号:");String Str=();String []Splitst=(",");String f3=Splitst[0];String deleSql= "DELETE FROM return WHERE reaID='"+f3+"'";int w=(deleSql); 查询罚款信息: ");" 2. 插入罚款信息: ");" 3. 删除罚款信息: ");" 4. 修改罚款信息: ");int g=();switch(g){case 1:" 1. 查询罚款信息: ");String Sssql = "SELECT * FROM fine ";rs= (Sssql);while()){插入罚款信息: ");"请按顺序插入读者卡号,图书编号,借书日期,超出日期,应缴罚款");String str=();String []splitst=(",");String g1=splitst[0];String g2=splitst[1];String g3=splitst[2];String g4=splitst[3];String g5=splitst[4];删除罚款信息: ");"请输入要删除的读者证号:");String Str=();String []Splitst=(",");String r=Splitst[0];String deleSql= "DELETE FROM fine WHERE reaID='"+r+"'";int x=(deleSql); 查询借阅历史信息: ");" 2. 插入借阅历史信息: ");" 3. 删除借阅历史信息: ");" 4. 修改借阅历史信息: ");" 5. 返回上一级 ");int h=();switch(h){case 1:" 1. 查询历史借阅信息: ");String Sql7 = "SELECT * FROM borrowhistory ";rs= (Sql7);while()){String bookID =(1);String reaID =(2);String bookName=(3);String bookWriter=(4);String outDate =(5);String yhDate =(6);","+reaID+","+bookName+","+bookWriter+","+outDate+","+yhDate);}break;case 2:" 2. 插入图书历史借阅信息: ");"请按顺序插入图书的的编号,读者编号,,图书借出日期,图书归还日期");String str=();String []splitst=(",");String a11=splitst[0];String a12=splitst[1];String a13=splitst[2];String a14=splitst[3];删除图书历史借阅信息: ");"请输入要删除的图书条码号:");String Str=();String []Splitst=(",");String d3=Splitst[0];String deleSql= "DELETE bookID FROM borrowhistory WHEREbookID='"+d3+"'";int k=(deleSql); 修改图书借阅历史信息: ");"请输入要修改的图书的借出日期 ");String S=();String []Ssplitst=(",");String c1=Ssplitst[0];String updateSql="UPDATE borrow SET outDate='"+c1+"' WHERE bookName='数据库'";int t=(updateSql); //返回记录影响的条数if(t!=0){"修改成功!");}break;}}}}}else{"非法用户!");}}catch(SQLException e) { ();}//();();();}}}}。
java编写的图书管理系统源代码

/用户登陆数据库代码:importjava.sql.*;classDatabase{Connectioncon;ResultSetrs;Statementstmt;publicDatabase(){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//加载JDBC-ODBC桥驱动程序Stringurl="jdbcdbc:HDB";con=DriverManager.getConnection(url);//连接数据库HDB//stmt提供一个创建SQL查询、执行查询、得到返回结果的空间stmt= //con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,//ResultSet.CONCUR_READ_ONLY);}catch(Exceptionex){System.out.println(ex);}}/*根据用户名,获取密码*/publicStringgetPswd(Stringname){try{//rs为执行SQL语句所查询的结果赋给结果集对象rsrs=stmt.executeQuery("SELECTpswdFROMUserWHEREName='"+name+"'");st();//把rs的指针移到最后一行if(rs.getRow()==0){returnnull;}else{StringpswdDB=rs.getString("Pswd");//获取rs结果集中的pswd列的数据returnpswdDB;}}catch(Exceptione){System.out.println(e);returnnull;}}/*增加一行用户名、密码数据*/publicbooleaninsertData(Stringname,Stringpswd){try{Strings=getPswd(name);if(s==null){intrtn=stmt.executeUpdate("INSERTINTOUserVALUES('"+name+"','"+pswd+"')");if(rtn!=0)returntrue;}else{returnfalse;}returnfalse;}catch(Exceptionet){System.out.println(et);returnfalse;}}}//进库数据库代码:importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.Statement;classBookDatabase{Connectioncon;ResultSetrs;Statementstmt;publicBookDatabase(){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//加载JDBC-ODBC桥驱动程序Stringurl="jdbcdbc:Book";con=DriverManager.getConnection(url);//连接数据库HDB//stmt提供一个创建SQL查询、执行查询、得到返回结果的空间stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);}catch(Exceptionex){System.out.println(ex);}}/*增加一行用户名、密码数据*/publicbooleaninsertData(Stringid,Stringname,Stringwhere,Stringprice,Stringdate){try{intrtn=stmt.executeUpdate("INSERTINTOBookVALUES('"+id +"','"+name+"','"+where+"','"+price+"','"+date+"')");if(rtn!=0){returntrue;}else{returnfalse;}}catch(Exceptionet){System.out.println(et);returnfalse;}}/**publicbooleandeleteData(Stringid){try{intrtn=*stmt.executeUpdate("DELETEFROMBookWHEREid=001");if(rtn!=0){ *returntrue;}else{returnfalse;}}catch(Exceptione){*System.out.println(e);returnfalse;}}publicbooleanSelect(String*id){try{intrtn=stmt.executeUpdate("SELECT*FROMBookInWHERE *id='"+id+"'");**if(rtn!=0){returntrue;}else{returnfalse;}}catch(Exception*e){System.out.println(e);returnfalse;}}*/}//出库数据库代码:importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.Statement;classBookDatabase1{Connectioncon;ResultSetrs;Statementstmt;publicBookDatabase1(){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//加载JDBC-ODBC桥驱动程序Stringurl="jdbcdbc:Book";con=DriverManager.getConnection(url);//连接数据库HDB//stmt提供一个创建SQL查询、执行查询、得到返回结果的空间stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);}catch(Exceptionex){System.out.println(ex);}}/**增加一行用户名、密码数据publicbooleaninsertData(Stringid,Stringname,String*where,String**price,Stringdate){try{intrtn=stmt.executeUpdate("INSERTINTO*BookInVALUES('"+id+**"','"+name+"','"+where+"','"+price+"','"+date+"')");**if(rtn!=0){returntrue;}else{returnfalse;}}catch(Exception*et){System.out.println(et);returnfalse;}}*/publicbooleandeleteData(Stringid){try{intrtn=stmt.executeUpdate("DELETEFROMBookWHEREid='"+id+"'");if(rtn!=0){returntrue;}else{returnfalse;}}catch(Exceptione){System.out.println(e);returnfalse;}}/**publicbooleanSelect(Stringid){try{intrtn=*stmt.executeUpdate("SELECT*FROMBookInWHEREid='"+id+"'");if(rtn!=*0){returntrue;}else{returnfalse;}}catch(Exceptione){*System.out.println(e);returnfalse;}}*/}//查询数据库代码;importjava.awt.*;importjava.awt.event.*;importjava.sql.*;importjavax.swing.*;classBookDatabase2extendsJFrame{Stringnumber,name,address,prices,day;Connectioncon;Statementstmt=null;ResultSetresult=null;Stringsql=null;publicBookDatabase2(){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//加载JDBC-ODBC桥驱动程序Stringurl="jdbc:odbc:Book";con=DriverManager.getConnection(url);//连接数据库HDB//stmt提供一个创建SQL查询、执行查询、得到返回结果的空间stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);}catch(Exceptionex){System.out.println(ex);}}publicvoidselect(Stringid){try{sql="SELECT*FROMBookwhereid='"+id+"'";result=stmt.executeQuery(sql);while(result.next()){number=result.getString(1);name=result.getString(2);address=result.getString(3);prices=result.getString(4);day=result.getString(4);}JOptionPane.showMessageDialog(BookDatabase2.this,"成功查询图书!\n"+"图书ID:"+number+"\n"+"图书名称:"+name+"\n"+"出版社"+address+"\n"+"价格:"+prices+"\n"+"出版日期:"+day+"\n","提示",JOptionPane.ERROR_MESSAGE);}catch(Exceptione){System.out.println(e);}}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目 录 题目简述 -------------------------------- 01 需求分析 -------------------------------- 01 数据结构 -------------------------------- 01 功能模块 -------------------------------- 02 程序设计 -------------------------------- 02 运行截图 -------------------------------- 04 分析总结 -------------------------------- 08 程序源码 -------------------------------- 08 . 图书信息管理系统 题目简述: 题目名称:图书信息管理系统 要求:使用图形用户界面,用数据库建立1或2个图书信息表,能连接数据库并实现查询、增加、删除、修改等功能。 需求分析: 图书信息管理系统应该具备图书的信息管理功能和流通管理功能。其中,信息管理功能包括查找,增加,修改,删除,显示全部信息等模块。流通管理功能包括图书借阅,归还等模块。因此分别设计各个模块,实现不同的功能。 数据结构: 用SQL Sever 建立数据库的表,用一张表存放图书的ID号码,图书名称,图书的所有者,图书状态,图书的使用者(允许为空)。具体设计如下图所示:
图书ID,图书名称,图书所有者,图书的状态,图书使用者(允许为空)均为varchar(50)类型,在Java中可以方便的查询。图书存储信息的具体内容如下图所示: . 功能模块:
程序设计: 主框架设计: 主框架上方包含三个按钮,分别是“系统管理”、“图书信息管理”和“图书流通管理”,定义JMenuBar类的对象、JMenu类的对象和JMenuItem类的对象,分别表示菜单栏、菜单组和菜单选项,然后调用初始化函数,将不同类的对象通过setText()函数设定不同的文本,然后将其添加到窗口容器中。对每个按钮分别添加不同的消息监听,响应相应的消息,调用不同的类完成不同的功能。消息监听功能详见源代码bookMain类。 图书信息管理模块包括增加图书,删除图书,编辑图书,查找图书和显示图书信息。具体的方法实现在bookBean中实现,当用户点击相应的按钮时,消息监听模块就会调用bookBean的构造函数产生一个bookBean的对象,然后通过对象调用bookBean类中的相应方法,完成事件的相应。 增加图书信息模块: 调用bookAdd类的构造函数产生一个该类的对象,在初始化函数中显示信息输入对话
主程序窗口 系统操作 图书信息管理 图书流通管理 退出
增加图书 显示图书 编辑图书 查找图书 删除图书 图书借阅 图书归还 . 框,提示用户输入图书ID,图书名称和图书所有者,由于刚增加的图书没有被借阅,所以图书状态和图书使用者为默认值,分别为空闲和null,因此用户不必输入这两个属性值。完成输入后,点击确定按钮,消息监听模块将调用bookBean的构造函数产生一个该类的对象,通过该对象调用bookBean的bookAdd函数,执行SQL语句,通过insert语句完成图书信息的增加插入功能。 删除图书信息模块: 调用bookDel类的构造函数产生一个该类的对象,在初始化函数中显示信息输入对话框,提示用户输入要删除图书的ID。完成输入后,点击确定按钮,消息监听模块将调用bookBean的构造函数产生一个该类的对象,通过该对象调用bookBean的bookDel函数,执行删除的SQL语句,通过delete语句完成图书信息的删除功能。 修改图书信息模块: 点击按钮后调用bookEdit类的构造函数产生一个该类的对象,在初始化函数中显示信息输入对话框,提示用户输入要修改图书的ID和其他图书信息,用户将信息输入完成后,点击确定按钮,消息监听模块将调用bookBean的构造函数产生一个该类的对象,通过该对象调用bookBean的bookEdit函数,执行修改的SQL语句,通过update语句完成图书信息的编辑功能。 查找图书信息模块: 点击按钮后调用bookSearch类的构造函数产生一个该类的对象,在初始化函数中显示信息输入对话框,提示用户输入要查找图书的ID,用户将信息输入完成后,点击确定按钮,消息监听模块将调用bookResult的构造函数产生一个该类的对象,通过该对象的构造函数,执行查找的SQL语句,通过select语句完成图书信息的查找功能,然后构造图标,将查询到的信息显示在图表中。 显示图书信息模块: 点击按钮后调用bookDisplay类的构造函数产生一个该类的对象,在该对象的构造函数中调用bookAllSearch函数,查询所有的图书信息,显示在表格中。 图书流通管理模块包含图书的借阅与归还功能,其实就是对数据库中的某一记录集的某一属性进行修改。 图书借阅模块: 用户输入要借阅的图书名称和本人姓名,点击确定后,将调用bookBean的构造函数产生一个对象,通过该对象调用bookBook函数,修改数据库中的信息,将图书状态属性变为. 已借,将图书用户属性变为用户姓名,完成图书的借阅功能。 图书归还模块: 用户输入要归还的图书名称,点击确定后,将调用bookBean的构造函数产生一个对象,通过该对象调用bookReturn函数,修改数据库中的信息,把图书的状态置为空闲,将图书用户置为空,从而完成图书的归还功能。 备注:报告此部分未附源代码,详见程序源码部分。 运行截图: 图书信息增加: . 图书信息修改:
图书信息查询: . 图书信息删除:
图书信息显示: . 图书借阅:
图书归还: . 分析总结: 本程序在数据库设计方面可以改为多张表存储的方式,用三张表来记录图书信息,借阅关系和学生信息,这样可以减少数据冗余,还可以增加一些其他功能,比如图书挂失等功能。由于刚刚接触到Java界面设计,所以本程序在界面设计方面还有有待改进的地方。 程序源码: DatabaseConn.java package bookDB;
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class DatabaseConn { private Statement stmt = null; ResultSet rs = null; private Connection conn = null; String sql; public DatabaseConn(){ } public void OpenConn() throws Exception { try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); conn = DriverManager.getConnection("jdbc:odbc:library"); }catch (Exception e) {System.err.println("数据库连接:"+e.getMessage());} }
public ResultSet executeQuery(String sql){ stmt = null; rs = null; try{ stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); rs = stmt.executeQuery(sql); }catch (SQLException e){System.err.println("查询数据:"+e.getMessage());} return rs; }
public void executeUpdate(String sql){ stmt = null; rs = null; . try{ stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); rs = stmt.executeQuery(sql); conn.commit(); }catch (SQLException e){System.err.println("更新数据:"+e.getMessage());} }
public void closeStmt(){ try {stmt.close();}catch (SQLException e){ System.err.println("释放对象:"+e.getMessage()); } }
public void closeConn(){ try {conn.close();}catch (SQLException ex){ System.err.println("释放对象:"+ex.getMessage()); } }
public static String toGBK(String str){ try{ if(str == null) str = null; else str = new String(str.getBytes("ISO-8859-1"),"GBK"); }catch (Exception e){System.out.println(e);} return str; } } package bookDB;
import java.awt.AWTEvent; import java.awt.BorderLayout; import java.awt.Container; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent;
import javax.swing.JFrame; import javax.swing.JMenu;