java数据库销售管理系统实验报告完整版(附代码)_第1页
java数据库销售管理系统实验报告完整版(附代码)_第2页
java数据库销售管理系统实验报告完整版(附代码)_第3页
java数据库销售管理系统实验报告完整版(附代码)_第4页
java数据库销售管理系统实验报告完整版(附代码)_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

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

文档简介

./海事大学本科生实验报告数据库原理-操作实训院〔系:交通运输管理学院专业:电子商务课程名称:数据库原理学号:2220113494学生:周慧敏任课教师:贺琳完成日期:2013年12月1.实验目的掌握数据库模式设计,依据实际要求设计表结构,建立表的关系;结合一定的开发工具实现数据库应用程序的开发。2.实验环境2.1硬件环境:处理器:Intel<R>Core<TM>i3CPUM3802.53GHz2.53GHz安装存:〔RAM:2GB〔1.86GB可用2.2软件环境操作系统:Windows7数据库管理系统:微软公司的SQLServer2005开发工具:Eclipse3.需求分析销售管理系统,可用于企业的销售信息管理,查询,更新与维护,使用方便,易用性强,图形界面清晰明了。该软件用java语言编写,用SQLServer2005数据库作为后台的数据库进行信息的存储,用SQL语句完成销售信息的添加,查询,修改,删除的操作。用ODBC驱动实现前台Java与后台SQL数据库的连接。Java语言跨平台性强,可以在windows,linux,ubuntu等系统下使用,方便简单,安全性好。SQLServer2005数据库高效安全,两者结合可相互利用各自的优势。该系统实现的大致功能:用户登陆界面。该界面可以选择使用者的身份,"系统管理员,基本档案管理员,业务员"。不同的身份有不同的操作界面和功能权限。ID号和密码输入正确即可登录。系统管理员界面,拥有最高权限。提供了客户信息管理、产品信息管理、订单信息管理、发货管理与签收管理等功能。基本档案管理员界面。提供了客户信息管理、产品信息管理等功能。业务员界面。提供了订单信息管理、发货管理与签收管理等功能。登录的用户信息分别存储在SQL数据库的"unpw表"中,如果用户信息不存在这个表中,将会无权利登录本管理系统。保证了本销售管理系统的安全性。系统功能图如下:销售管理系统销售管理系统基本档案管理员业务员系统管理员基本档案管理员业务员系统管理员发货管理签收管理订单信息管理产品信息管理客户信息管理订单信息管理订单信息管理产品信息管理客户信息管理发货管理签收管理发货管理签收管理订单信息管理产品信息管理客户信息管理订单信息管理订单信息管理产品信息管理客户信息管理发货管理签收管理4.概念结构设计根据以上对系统的需求分析,系统设计,本系统使用的数据库实体分别为客户信息实体,产品信息实体,订单信息实体,发货单实体,签收单实体。1:客户信息实体客户信息实体包括客户名称、单位地址、联系、地址、开户银行、银行账号、发票抬头、所在区域等属性。客户信息实体的E-R图如图所示。所在区域发票抬头银行账号地址联系电话单位地址客户名称客户信息所在区域发票抬头银行账号地址联系电话单位地址客户名称客户信息开户银行开户银行2:发货单实体发货单实体包括客户名称、联系人、联系、发货地址、地址、产品名称、型号、数量、单价、运费、总价、发货日期等属性,E-R图如图所示。产品名称发货日期单价总价运费数量型号地址联系人发货单产品名称发货日期单价总价运费数量型号地址联系人发货单发货地址联系电话发货地址联系电话客户名称客户名称3:签收单实体签收单实体包括客户名称、联系人、联系、发货地址、地址、产品名称、型号、数量、单价、运费、总价、收货日期等属性,E-R图如图所示。产品名称收货日期单价总价运费数量型号地址联系人签收单产品名称收货日期单价总价运费数量型号地址联系人签收单发货地址联系电话发货地址联系电话客户名称客户名称4:unpw实体unpw实体包括un、pw、qx等属性,E-R图如图所示。pwununpwpwununpwqxqx5:产品信息实体产品信息实体主要包括产品名称、规格、型号、操作系统、产品描述、产品分类等属性。E-R图如图所示。规格产品名称规格产品名称型号型号产品分类产品描述产品信息产品分类产品描述产品信息操作系统操作系统6:订单信息实体订单信息实体主要包括客户名称、联系人、联系、发货地址、最后到货期限〔日期以及产品名称、型号、数量、产品要求等属性。E-R图如图所示。最后到货期限联系人产品要求数量型号产品名称客户名称发货地址联系电话订单信息最后到货期限联系人产品要求数量型号产品名称客户名称发货地址联系电话订单信息实体属性表:实体属性客户信息客户名称、单位地址、联系、地址、开户银行、银行账号、发票抬头、所在区域产品信息产品名称、规格、型号、操作系统、产品描述、产品分类订单信息客户名称、联系人、联系、发货地址、最后到货期限〔日期以及产品名称、型号、数量、产品要求签收单客户名称、联系人、联系、发货地址、地址、产品名称、型号、数量、单价、运费、总价、收货日期发货单客户名称、联系人、联系、发货地址、地址、产品名称、型号、数量、单价、运费、总价、发货日期unpw〔用户un〔登录名、pw〔密码、qx〔用户产品描述操作系统产品描述操作系统产品分类产品名称产品分类产品名称产品信息产品信息产品名称产品名称1包含n型号型号1包含n型号型号1采购n数量订单信息规格1采购n数量订单信息规格客户名称客户名称地址产品要求地址产品要求1生成111生成11客户信息产品名称所在区域产品名称所在区域1签收N单位地址1签收N单位地址型号型号发货单发票抬头发货单发票抬头联系电话联系电话客户名称数量银行账号客户名称数量银行账号联系电话单价联系电话单价签收单开户银行签收单开户银行联系人运费联系人运费数量发货地址总价数量发货地址总价地址地址单价发货日期单价发货日期收货日期收货日期总价总价运费运费5.逻辑结构设计〔1表-dbo.客户信息<客户信息表>客户信息表包括客户名称、单位地址、联系、地址、开户银行、银行、发票抬头、所在区域等信息。〔2表-dbo.产品信息<产品信息表>产品信息表包括产品名称、规格、型号、操作系统、产品描述、产品分类等信息。〔3表-dbo.订单信息<订单信息表>订单信息表包括客户名称、联系人、联系、发货地址、最后到货期限〔日期以及产品名称、型号、数量、产品要求等信息。〔4表-dbo.发货单信息<发货单表>发货单表主要包括客户名称、联系人、联系、发货地址、地址、产品名称、型号、数量、单价、运费、总价、发货日期等信息。〔5表-dbo.签收单信息<签收单表>签收单表主要包括客户名称、联系人、联系、发货地址、地址、产品名称、型号、数量、单价、运费、总价、收货日期等信息。〔6表-dbo.unpw<用户表用户表包括un、pw、qx等信息。6.数据库实现〔1数据库关系图〔2SQL语句实现数据表的创建:〔i客户信息表创建:createtable客户信息表<客户名称nchar<10>notnullprimarykey,单位地址nchar<10>,联系nchar<10>,地址nchar<10>,开户银行nchar<10>,银行账号nchar<10>,发票抬头nchar<10>,所在区域nchar<10>,>〔ii产品信息表创建:createtable产品信息表<产品名称nchar<10>notnullprimarykey,规格nchar<10>,型号nchar<10>,操作系统nchar<10>,产品描述nchar<10>,产品分类nchar<10>,>〔iii订单信息表创建:createtable订单信息表<客户名称nchar<10>notnullprimarykey,联系人nchar<10>,联系nchar<10>,发货地址nchar<10>,最后到货期限nchar<10>,产品名称nchar<10>,型号nchar<10>,数量int,产品要求nchar<10>,>〔iv发货单表创建:createtable发货单表<客户名称nchar<10>notnullprimarykey,联系人nchar<10>,联系nchar<10>,发货地址nchar<10>,地址nchar<10>,产品名称nchar<10>,型号nchar<10>,数量int,单价int,运费int,总价int,发货日期nchar<10>,>〔v收货单表创建:createtable收货单表<客户名称nchar<10>notnullprimarykey,联系人nchar<10>,联系nchar<10>,发货地址nchar<10>,地址nchar<10>,产品名称nchar<10>,型号nchar<10>,数量int,单价int,运费int,总价int,收货日期nchar<10>,>〔vi管理员信息表创建:createtableunpw表<qxintnotnullprimarykey,unvarchar<12>notnull,pwvarchar<12>notnull7.应用系统设计实现〔1用户登录模块〔2各用户操作模块〔i系统管理员操作模块〔ii基本档案管理员操作模块〔iii业务员操作模块〔3系统管理员登录在登陆界面选择"系统管理员"角色,输入正确的ID和密码。验证成功则可进入系统管理员管理界面。系统管理员ID号和登录密码存在数据库中的管理员信息表。表中存在的管理员才允许登录。〔i点击客户信息管理,弹出如下界面:〔ii点击显示按钮后,会出现数据库里保存的客户信息:〔iii点击增加按钮,弹出如下界面,输入要增加的客户信息,成功后会弹出增加成功的提示窗口:〔iv增加客户信息成功后客户信息管理界面会增加一行客户信息,如图所示:〔v选中一条客户信息,点击删除按钮,成功后会出现删除成功的提示窗口:〔vi成功删除Tom客户的信息后,客户信息管理界面变化如下:〔vii选中一行客户信息,点击修改按钮,出现如下界面,输入要修改的信息,成功后弹出修改成功的提示窗口:〔此处修改了客户Tom的联系〔viii点击查询按钮,弹出如下窗口:在文本框中输入"Hei",即可查询所在区域为"Hei"的客户信息:其他模块与客户信息管理模块类似,均能实现信息的查询、修改、删除、增加、显示等功能,在此不再赘述;点击退出系统即可完成本次操作。经过系统一系列的增删改查操作之后,sqlsever2005数据库上的客户信息表同时也发生了改变:8.实验总结〔实验心得本次操作实训虽然很辛苦,但实在是受益匪浅。在操作实训过程中碰到了很多问题,刚开始的时候,还真不知道从哪里下手。但最终在图书、同学和老师的帮助下都得到了解决,让我学会了好多书本上没有的东西,通过本次操作实训我也能将课本上的知识融会贯通,起到了很好的辅助学习的效果,但是我发现我学到的知识比整整一个学期学到的都多。理论和实践的相结合是学习最有效的方法。在实验的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,这次操作实训之后,一定把以前所学过的知识重新温故。通过这次操作实训使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。附录:代码Control.javapackagezhm;publicclassControl{publicstaticvoidmain<String[]args>{newDLFrame<>; }}DLFrame.javapackagezhm;importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;importjava.sql.*;publicclassDLFrameextendsJFrameimplementsActionListener,ItemListener{//登录界面privatestaticfinallongserialVersionUID=1L; JPanelp1=null; JPanelp2=null; JPanelp3=null; JLabeluserName=newJLabel<"用户:">; JTextFieldtxtUser=newJTextField<>; JLabelpassword=newJLabel<"密码:">; JPasswordFieldtxtPwd=newJPasswordField<6>; JLabelrole=newJLabel<"角色:">; JComboBox<String>cbrole=newJComboBox<String><>; JButtonbtnLogin=newJButton<"登录">; JButtonbtncz=newJButton<"重置">; JButtonbtnCancel=newJButton<"取消">; JLabelimageLabel; Iconimage;staticintOK=1;staticintCANCEL=0;intactionCode=0; Connectioncon=null; Statementstmt=null; ResultSetrs=null;intqxian=0;SuppressWarnings<"deprecation">publicDLFrame<>{//构造方法super<"登录界面">;p1=newJPanel<>;p2=newJPanel<>;p3=newJPanel<>;cbrole.addItem<"系统管理员">;cbrole.addItem<"基本档案管理员">;cbrole.addItem<"业务员">;/*image=newImageIcon<"picture\\st.jpg">; imageLabel=newJLabel<image>; p1.add<imageLabel>;*/this.setLayout<newFlowLayout<>>;this.setBounds<150,150,250,250>;p2.setLayout<newGridLayout<4,2>>;p2.add<userName>;p2.add<txtUser>;p2.add<password>;p2.add<txtPwd>;p2.add<role>;p2.add<cbrole>;p3.add<btnLogin>;p3.add<btncz>;p3.add<btnCancel>;this.add<p1>;this.add<p2>;this.add<p3>;this.setResizable<false>;this.setDefaultCloseOperation<JFrame.EXIT_ON_CLOSE>;this.show<>;btnLogin.addActionListener<this>;cbrole.addItemListener<this>;btncz.addActionListener<this>;btnCancel.addActionListener<this>; }publicvoidconnDB<>{//连接数据库try{ Class.forName<".microsoft.sqlserver.jdbc.SQLServerDriver">; }catch<ClassNotFoundExceptione>{ e.printStackTrace<>; }try{con=DriverManager.getConnection<"jdbc:sqlserver://localhost:1433;DatabaseName=销售管理系统","sa","2191826">;stmt=con.createStatement<>; }catch<SQLExceptione>{ e.printStackTrace<>; } }publicvoidcloseDB<>//关闭连接 {try{stmt.close<>;con.close<>; }catch<SQLExceptione>{ e.printStackTrace<>; } }publicvoiditemStateChanged<ItemEvente>{if<e.getStateChange<>==ItemEvent.SELECTED>{ JComboBox<?>jcb=<JComboBox<?>>e.getSource<>;qxian=jcb.getSelectedIndex<>; } }SuppressWarnings<"deprecation">publicvoidactionPerformed<ActionEvente>{ Objectsource=e.getSource<>; Stringun=null; Stringpw=null; booleansuccess=false;//用于判断是否登录成功if<source==btnLogin>{if<txtUser.getText<>.equals<"">||txtPwd.getPassword<>.equals<"">>{//判断是否输入了用户名和密码 JOptionPane.showMessageDialog<null,"登录名和密码不能为空!">; }else{this.connDB<>;try{rs=stmt.executeQuery<"select*fromunpwwhereqx="+qxian>;while<rs.next<>>{ un=rs.getString<"un">.trim<>; pw=rs.getString<"pw">.trim<>;if<txtUser.getText<>.equals<un>>{if<txtPwd.getText<>.equals<pw>>{actionCode=OK;this.setVisible<false>;if<qxian==0>{newsysManagerFrame<>;//进入系统管理员界面 }if<qxian==1>{newbaseManagerFrame<>;//进入基本档案管理员界面 }if<qxian==2>{newbusinessManFrame<>;//进入业务员界面 } success=true;break; }else{ JOptionPane.showMessageDialog<null,"密码错误!">;txtPwd.setText<"">; success=true; } } }if<!success>{ JOptionPane.showMessageDialog<null,"登录名错误!">;txtUser.setText<"">;txtPwd.setText<"">; } }catch<SQLExceptione1>{ e1.printStackTrace<>; } } }elseif<source==btncz>{txtUser.setText<"">;txtPwd.setText<"">; }elseif<source==btnCancel>{ System.exit<0>; } }}sysManagerFrame.javapackagezhm;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JPanel;publicclasssysManagerFrameextendsJFrameimplementsActionListener{//系统管理员界面privatestaticfinallongserialVersionUID=1L; JPanelp1=newJPanel<>; JPanelp2=newJPanel<>; JButtonbtns=newJButton<"客户信息管理">; JButtonbtnc=newJButton<"产品信息管理">; JButtonbtnsc=newJButton<"订单信息管理">; JButtonbtng=newJButton<"发货管理">; JButtonbtnu=newJButton<"签收管理">; JButtonbtnClose=newJButton<"退出管理系统">; JLabell=newJLabel<"系统管理员">;SuppressWarnings<"deprecation"> sysManagerFrame<>{//构造方法super<"销售管理系统">; setSize<205,300>; add<"North",p1>; add<"Center",p2>;p1.add<l>;p2.add<btns>;p2.add<btnc>;p2.add<btnsc>;p2.add<btng>;p2.add<btnu>;p2.add<btnClose>;btns.addActionListener<this>;btnc.addActionListener<this>;btnsc.addActionListener<this>;btng.addActionListener<this>;btnu.addActionListener<this>;btnClose.addActionListener<this>;this.setResizable<false>;this.setDefaultCloseOperation<JFrame.EXIT_ON_CLOSE>;show<>; }publicvoidactionPerformed<ActionEvente>{if<e.getActionCommand<>=="客户信息管理">newCustomerManager<"客户信息管理">.display<>;if<e.getActionCommand<>=="产品信息管理">{newProductManager<"产品信息管理">.display<>; }if<e.getActionCommand<>=="订单信息管理">{newOrderManager<"订单信息管理">.display<>; }if<e.getActionCommand<>=="发货管理">{newsendManager<"发货管理">.display<>; }if<e.getActionCommand<>=="签收管理">{newReceiveManager<"签收管理">.display<>; }if<e.getActionCommand<>=="退出管理系统">{ System.exit<0>; } }}baseManagerFrame.javapackagezhm;importjava.awt.event.*;importjavax.swing.*;publicclassbaseManagerFrameextendsJFrameimplementsActionListener{//系统管理员界面privatestaticfinallongserialVersionUID=1L; JPanelp1=newJPanel<>; JPanelp2=newJPanel<>; JButtonbtns=newJButton<"客户信息管理">; JButtonbtnc=newJButton<"产品信息管理">; JButtonbtnClose=newJButton<"退出管理系统">; JLabell=newJLabel<"基本档案管理员">;SuppressWarnings<"deprecation"> baseManagerFrame<>{//构造方法super<"销售管理系统">; setSize<205,300>; add<"North",p1>; add<"Center",p2>;p1.add<l>;p2.add<btns>;p2.add<btnc>; p2.add<btnClose>;btns.addActionListener<this>;btnc.addActionListener<this>; btnClose.addActionListener<this>;this.setResizable<false>;this.setDefaultCloseOperation<JFrame.EXIT_ON_CLOSE>; show<>; }publicvoidactionPerformed<ActionEvente>{if<e.getActionCommand<>=="客户信息管理">newCustomerManager<"客户信息管理">.display<>;if<e.getActionCommand<>=="产品信息管理">{newProductManager<"产品信息管理">.display<>; }if<e.getActionCommand<>=="订单信息管理">{newOrderManager<"订单信息管理">.display<>; } if<e.getActionCommand<>=="退出管理系统">{ System.exit<0>; } }}businessManFrame.javapackagezhm;importjava.awt.event.*;importjavax.swing.*;publicclassbusinessManFrameextendsJFrameimplementsActionListener{//业务员界面privatestaticfinallongserialVersionUID=1L; JPanelp1=newJPanel<>; JPanelp2=newJPanel<>; JButtonbtnsc=newJButton<"订单信息管理">; JButtonbtng=newJButton<"发货管理">; JButtonbtnu=newJButton<"签收管理">; JButtonbtnClose=newJButton<"退出管理系统">; JLabell=newJLabel<"业务员">;SuppressWarnings<"deprecation"> businessManFrame<>{//构造方法super<"销售管理系统">; setSize<205,300>; add<"North",p1>; add<"Center",p2>;p1.add<l>;p2.add<btnsc>;p2.add<btng>;p2.add<btnu>;p2.add<btnClose>; btnsc.addActionListener<this>;btng.addActionListener<this>;btnu.addActionListener<this>;btnClose.addActionListener<this>;this.setResizable<false>;this.setDefaultCloseOperation<JFrame.EXIT_ON_CLOSE>;show<>; }publicvoidactionPerformed<ActionEvente>{ if<e.getActionCommand<>=="订单信息管理">{newOrderManager<"订单信息管理">.display<>; }if<e.getActionCommand<>=="发货管理">{newsendManager<"发货管理">.display<>; }if<e.getActionCommand<>=="签收管理">{newReceiveManager<"签收管理">.display<>; }if<e.getActionCommand<>=="退出管理系统">{ System.exit<0>; } }}CustomerAdd.javapackagezhm;importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;importjava.sql.*;publicclassCustomerAddextendsJFrameimplementsActionListener{//用于客户信息管理中增加或修改某条记录的界面 privatestaticfinallongserialVersionUID=1L; JLabell1=newJLabel<"客户名称:">; JLabell2=newJLabel<"单位地址:">; JLabell3=newJLabel<"联系:">; JLabell4=newJLabel<"地址:">; JLabell5=newJLabel<"开户银行:">; JLabell6=newJLabel<"银行账号:">; JLabell7=newJLabel<"发票抬头:">; JLabell8=newJLabel<"所在区域:">; JTextFieldt1=newJTextField<10>; JTextFieldt2=newJTextField<10>; JTextFieldt3=newJTextField<10>; JTextFieldt4=newJTextField<10>; JTextFieldt5=newJTextField<10>; JTextFieldt6=newJTextField<10>; JTextFieldt7=newJTextField<10>; JTextFieldt8=newJTextField<10>; JButtonbtnOK=newJButton<"确定">; JButtonbtnCancel=newJButton<"取消">; JPanelp=newJPanel<>; Connectioncon=null; Statementstmt=null; ResultSetrs=null; booleanisNewsm=true;//用于判断是否显示客户信息管理的界面 SuppressWarnings<"deprecation"> publicCustomerAdd<>{//构造方法 this.setTitle<"增加">; this.setBounds<300,300,225,350>; p.setLayout<newFlowLayout<FlowLayout.LEFT>>; p.add<l1>; p.add<t1>; p.add<l2>; p.add<t2>; p.add<l3>; p.add<t3>; p.add<l4>; p.add<t4>; p.add<l5>; p.add<t5>; p.add<l6>; p.add<t6>; p.add<l7>; p.add<t7>; p.add<l8>; p.add<t8>; p.add<btnOK>; p.add<btnCancel>; this.add<p>; this.setResizable<false>; this.setDefaultCloseOperation<JFrame.EXIT_ON_CLOSE>; btnOK.addActionListener<this>; btnCancel.addActionListener<this>; this.show<>; } publicvoidconnDB<>{//连接数据库 try{ Class.forName<".microsoft.sqlserver.jdbc.SQLServerDriver">; }catch<ClassNotFoundExceptione>{ e.printStackTrace<>; } try{ con=DriverManager.getConnection< "jdbc:sqlserver://localhost:1433;DatabaseName=销售管理系统", "sa","2191826">; stmt=con.createStatement<>; }catch<SQLExceptione>{ e.printStackTrace<>; } } publicvoidcloseDB<>//关闭连接 { try{ stmt.close<>; con.close<>; }catch<SQLExceptione>{ e.printStackTrace<>; } } publicvoidinsertst<>{//插入记录 Stringx=null; Stringy=null;Stringz=null;Stringa=null; Stringb=null;Stringc=null;Stringd=null;Stringe=null; x=t1.getText<>; y=t2.getText<>; z=t3.getText<>; a=t4.getText<>; b=t5.getText<>; c=t6.getText<>; d=t7.getText<>; e=t8.getText<>; if<this.getTitle<>=="修改">{//如果是修改记录,先删除再增加 try{ this.connDB<>; SuppressWarnings<"unused"> intrs1=stmt.executeUpdate<"deletefrom客户信息where客户名称='" +x+"'">; }catch<SQLExceptione1>{ e1.printStackTrace<>; } } Stringstr="insertinto客户信息values<'"+x+"','"+y+"','" +z+"','"+a+"','"+b+"','"+c+"','"+d+"','"+e+"'>"; this.connDB<>;//连接数据库 try{ stmt.executeUpdate<str>; JOptionPane.showMessageDialog<null,this.getTitle<>+"成功!", "提示",JOptionPane.INFORMATION_MESSAGE,newImageIcon< "menu4.gif">>; this.setVisible<false>; } catch<SQLExceptione1>{ JOptionPane.showMessageDialog<null,"客户名称已存在!">; t1.setText<"">; } } publicvoidactionPerformed<ActionEvente>{ if<e.getActionCommand<>=="确定">{ this.insertst<>; if<isNewsm>{ newCustomerManager<"客户信息管理">.display<>; } isNewsm=true; } if<e.getActionCommand<>=="取消">{ this.setVisible<false>; newCustomerManager<"客户信息管理">.display<>; } }}CustomerManager.javapackagezhm;importjava.awt.event.*;importjava.sql.*;importjava.util.*;importjavax.swing.*;publicclassCustomerManagerextendsJFrameimplementsActionListener{//客户信息管理privatestaticfinallongserialVersionUID=1L; JPanelp=newJPanel<>; JButtonbtnAdd=newJButton<"增加">; JButtonbtnDelete=newJButton<"删除">; JButtonbtnAlter=newJButton<"修改">; JButtonbtnSearch=newJButton<"查询">; JButtonbtnDisplay=newJButton<"显示">; JMenuBarmb=newJMenuBar<>; JPanelp1=newJPanel<>;; JTablesTable; JScrollPanescroll; Connectioncon=null; Statementstmt=null; ResultSetrs=null; Object[][]playerInfo; CustomerSelectsst; Stringmxh=null;booleanbstd=false; CustomerManager<Stringtitle>{//构造方法super<title>; add<"South",p>;this.add<"Center",p1>;mb.add<btnAdd>;mb.add<btnDelete>;mb.add<btnAlter>;mb.add<btnSearch>;mb.add<btnDisplay>;this.connDB<>;//连接数据库//this.display<>;this.setBounds<300,300,600,450>;btnAdd.addActionListener<this>;btnDelete.addActionListener<this>;btnAlter.addActionListener<this>;btnSearch.addActionListener<this>;btnDisplay.addActionListener<this>;this.setJMenuBar<mb>;//this.setDefaultCloseOperation<JFrame.EXIT_ON_CLOSE>;this.setResizable<false>;show<>; } CustomerManager<CustomerSelectsst,Stringtitle>{//构造方法super<title>;this.sst=sst;bstd=true; add<"South",p>;this.add<"Center",p1>;mb.add<btnAdd>;mb.add<btnDelete>;mb.add<btnAlter>;mb.add<btnSearch>;mb.add<btnDisplay>;this.connDB<>;this.setBounds<300,300,600,450>;btnAdd.addActionListener<this>;btnDelete.addActionListener<this>;btnAlter.addActionListener<this>;btnSearch.addActionListener<this>;btnDisplay.addActionListener<this>;this.setJMenuBar<mb>;this.setResizable<false>;show<>; }publicvoiddisplay<>{//显示所有客户的基本信息inti=0;intj=0; List<String>al=newArrayList<String><>;try{rs=stmt.executeQuery<"select*from客户信息">;while<rs.next<>>{//找出表中的记录数赋给i al.add<rs.getString<"客户名称">>; al.add<rs.getString<"单位地址">>; al.add<rs.getString<"联系">>; al.add<rs.getString<"地址">>; al.add<rs.getString<"开户银行">>; al.add<rs.getString<"银行账号">>; al.add<rs.getString<"发票抬头">>; al.add<rs.getString<"所在区域">>; i++; } }catch<SQLExceptione>{ e.printStackTrace<>; }playerInfo=newObject[i][8]; String[]columnNames={"客户名称","单位地址","联系","地址","开户银行","银行账号","发票抬头","所在区域",};try{rs=stmt.executeQuery<"select*from客户信息orderby客户名称">;while<rs.next<>>{playerInfo[j][0]=rs.getString<"客户名称">;playerInfo[j][1]=rs.getString<"单位地址">;playerInfo[j][2]=rs.getString<"联系">;playerInfo[j][3]=rs.getString<"地址">;playerInfo[j][4]=rs.getString<"开户银行">; playerInfo[j][5]=rs.getString<"银行账号">;playerInfo[j][6]=rs.getString<"发票抬头">;playerInfo[j][7]=rs.getString<"所在区域">; j++; } }catch<SQLExceptione>{ e.printStackTrace<>; }sTable=newJTable<playerInfo,columnNames>;//创建网格p1.add<sTable>;scroll=newJScrollPane<sTable>;this.add<scroll>; }publicvoidconnDB<>{//连接数据库try{ Class.forName<".microsoft.sqlserver.jdbc.SQLServerDriver">; }catch<ClassNotFoundExceptione>{ e.printStackTrace<>; }try{con=DriverManager.getConnection<"jdbc:sqlserver://localhost:1433;DatabaseName=销售管理系统","sa","2191826">;stmt=con.createStatement<>; }catch<SQLExceptione>{ e.printStackTrace<>; } }publicvoidcloseDB<>//关闭数据库连接 {try{stmt.close<>;con.close<>; }catch<SQLExceptione>{ e.printStackTrace<>; } }publicvoiddelete<>{//删除某个客户的基本信息 Stringxh=null; Stringxm=null;SuppressWarnings<"unused"> Stringxn=null;SuppressWarnings<"unused"> Stringxp=null;SuppressWarnings<"unused"> Stringxr=null; Stringxs=null; Stringxb=null;SuppressWarnings<"unused"> Stringyx=null; introw=-1; row=sTable.getSelectedRow<>;if<row==-1>{//判断要删除的信息是否被选中 JOptionPane.showMessageDialog<null,"请选择要删除的记录!">; }else{if<!bstd>{//判断选择的是不是查询后的结果intj1=0;try{rs=stmt.executeQuery<"select*from客户信息">;while<rs.next<>&&j1<=row>{//找出当前被选中的记录在数据库中的对应 xh=rs.getString<"客户名称">; xm=rs.getString<"单位地址">; xn=rs.getString<"联系">; xp=rs.getString<"地址">; xr=rs.getString<"开户银行">; xs=rs.getString<"银行账号">; xb=rs.getString<"发票抬头">; yx=rs.getString<"所在区域">; j1++; } }catch<SQLExceptione>{ e.printStackTrace<>; }inti1=0;try{SuppressWarnings<"unused">intrs1=stmt.executeUpdate<"deletefrom客户信息where客户名称='" +xh+"'">;//删除数据库中当前被选中的记录 JOptionPane.showMessageDialog<null,"记录删除成功!">;this.dispose<>;newCustomerManager<"客户信息管理">.display<>; }catch<SQLExceptione>{ e.printStackTrace<>; } }else{try{SuppressWarnings<"unused">intrs1=stmt.executeUpdate<"deletefrom客户信息where客户名称='" +xh+"'">; JOptionPane.showMessageDialog<null,"记录删除成功!">;this.dispose<>;newCustomerManager<"客户信息管理">.display<>; }catch<SQLExceptione>{ e.printStackTrace<>; } } } }publicvoidupdate<>{//修改某个客户的基本信息 Stringxh=null; Stringxm=null; Stringxn=null; Stringxp=null; Stringxr=null; Stringxs=null; Stringxb=null; Stringyx=null;introw=-1; row=sTable.getSelectedRow<>;if<row==-1>{ JOptionPane.showMessageDialog<null,"请选择要修改的记录!">; }else{intj1=0;try{if<!bstd>{//判断选择的是不是查询后的结果rs=stmt.executeQuery<"select*from客户信息">; }else{rs=stmt.executeQuery<"select*from客户信息where客户名称='"+xh +"'">; }while<rs.next<>&&j1<=row>{//找出当前被选中的记录在数据库中的对应 xh=rs.getString<"客户名称">; xm=rs.getString<"单位地址">; xn=rs.getString<"联系">; xp=rs.getString<"地址">; xr=rs.getString<"开户银行">; xs=rs.getString<"银行账号">; xb=rs.getString<"发票抬头">; yx=rs.getString<"所在区域">; j1++; } }catch<SQLExceptione>{ e.printStackTrace<>; } CustomerAddcadd=newCustomerAdd<>; cadd.setTitle<"修改">; cadd.t1.setText<xh>; cadd.t2.setText<xm>; cadd.t3.setText<xn>; cadd.t4.setText<xp>; cadd.t5.setText<xr>; cadd.t6.setText<xs>; cadd.t7.setText<xb>; cadd.t8.setText<yx>; cadd.t1.setEnabled<false>;this.dispose<>; } }publicvoidselect<>{//显示某个查询的结果 Stringmx; mx=sst.x;playerInfo=newObject[1][8]; String[]columnNames={"客户名称","单位地址","联系","地址","开户银行","银行账号","发票抬头","所在区域"};try{rs=stmt.executeQuery<"select*from客户信息where所在区域='"+mx+"'">;while<rs.next<>>{playerInfo[0][0]=rs.getString<"客户名称">;playerInfo[0][1]=rs.getString<"单位地址">;playerInfo[0][2]=rs.getString<"联系">;playerInfo[0][3]=rs.getString<"地址">;playerInfo[0][4]=rs.getString<"开户银行">; playerInfo[0][5]=rs.getString<"银行账号">;playerInfo[0][6]=rs.getString<"发票抬头">;playerInfo[0][7]=rs.getString<"所在区域">; } }catch<SQLExceptione>{ e.printStackTrace<>; }if<playerInfo[0][7]==null>{this.dispose<>; JOptionPane.showMessageDialog<null,"客户所在区域不存在!">;newCustomerManager<"客户信息管理">.display<>; }else{sTable=newJTable<playerInfo,columnNames>;//创建网格p1.add<sTable>;scroll=newJScrollPane<sTable>;this.add<scroll>; } } publicvoidactionPerformed<ActionEvente>{if<e.getActionCommand<>=="增加">{newCustomerAdd<>;this.dispose<>; }if<e.getActionCommand<>=="删除">{this.delete<>; }if<e.getActionCommand<>=="修改">{this.update<>; }if<e.getActionCommand<>=="查询">{sst=newCustomerSelect<>;this.dispose<>; }if<e.getActionCommand<>=="显示">{this.dispose<>;newCustomerManager<"客户信息管理">.display<>; } }}CustomerSelect.javapackagezhm;importjava.awt.event.*;importjavax.swing.*;publicclassCustomerSelectextendsJFrameimplementsActionListener{//用于客户信息管理中查询时输入所在区域的界面privatestaticfinallongserialVersionUID=1L; JLabelltitle=newJLabel<"所在区域:">; JTextFieldt1=newJTextField<8>; JButtonbtnOK=newJButton<"确定">; JPanelp=newJPanel<>; Stringx=null;SuppressWarnings<"deprecation">publicCustomerSelect<>{//构造方法p.add<ltitle>;p.add<t1>;p.add<btnOK>; add<p>;this.setBounds<450,420,300,240>;btnOK.addActionListener<this>;this.setResizable<false>;this.show<>; }publicvoidactionPerformed<ActionEvente>{x=t1.getText<>;//取得当前输入所在区域的值if<x.equals<"">>{//判断是否输入了所在区域 JOptionPane.showMessageDialog<null,"所在区域不能为空,请重新输入!">; }else{this.dispose<>;newCustomerManager<this,"客户信息管理">.select<>; } }}ProductAdd.javapackagezhm;importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;importjava.sql.*;publicclassProductAddextendsJFrameimplementsActionListener{//用于产品信息管理中增加或修改某条记录的界面privatestaticfinallongserialVersionUID=1L; JLabell1=newJLabel<"产品名称:">; JLabell2=newJLabel<"规格:">; JLabell3=newJLabel<"型号:">; JLabell4=newJLabel<"操作系统:">; JLabell5=newJLabel<"产品分类:">; JLabell6=newJLabel<"产品描述:">; JTextFieldt1=newJTextField<10>; JTextFieldt2=newJTextField<10>; JTextFieldt3=newJTextField<10>; JTextFieldt4=newJTextField<10>; JTextFieldt5=newJTextField<10>; JTextFieldt6=newJTextField<10>; JButtonbtnOK=newJButton<"确定">; JButtonbtnCancel=newJButton<"取消">; JPanelp=newJPanel<>; Connectioncon=null; Statementstmt=null; ResultSetrs=null;booleanisNewsm=true;//用于判断是否显示产品信息管理的界面publicProductAdd<>{//构造方法this.setTitle<"增加">;this.setBounds<300,300,220,350>;p.setLayout<newFlowLayout<FlowLayout.LEFT>>;p.add<l1>;p.add<t1>;p.add<l2>;p.add<t2>;p.add<l3>;p.add<t3>;p.add<l4>;p.add<t4>;p.add<l5>;p.add<t5>;p.add<l6>;p.add<t6>;p.add<btnOK>;p.add<btnCancel>;this.add<p>;this.setResizable<false>;this.setDefaultCloseOperation<JFrame.EXIT_ON_CLOSE>;btnOK.addActionListener<this>;btnCancel.addActionListener<this>;this.show<>; }publicvoidconnDB<>{//连接数据库try{ Class.forName<".microsoft.sqlserver.jdbc.SQLServerDriver">; }catch<ClassNotFoundExceptione>{ e.printStackTrace<>; }try{con=DriverManager.getConnection<"jdbc:sqlserver://localhost:1433;DatabaseName=销售管理系统","sa","2191826">;stmt=con.createStatement<>; }catch<SQLExceptione>{ e.printStackTrace<>; } }publicvoidcloseDB<>//关闭连接 {try{stmt.close<>;con.close<>; }catch<SQLExceptione>{ e.printStackTrace<>; } }publicvoidinsertst<>{//插入记录 Stringx=null; Stringy=null;Stringz=null;Stringa=null; Stringb=null;Stringc=null; x=t1.getText<>; y=t2.getText<>; z=t3.getText<>; a=t4.getText<>; b=t5.getText<>; c=t6.getText<>;if<this.getTitle<>=="修改">{//如果是修改记录,先删除再增加try{this.connDB<>;SuppressWarnings<"unused">intrs1=stmt.executeUpdate<"deletefrom产品信息where产品名称='" +x+"'">; }catch<SQLExceptione>{ e.printStackTrace<>; } } Stringstr="insertinto产品信息values<'"+x+"','"+y+"','" +z+"','"+a+"','"+b+"','"+c+"'>";this.connDB<>;//连接数据库try{stmt.executeUpdate<str>; JOptionPane.showMessageDialog<null,this.getTitle<>+"成功!","提示",JOptionPane.INFORMATION_MESSAGE,newImageIcon<"menu4.gif">>;this.setVisible<false>; }catch<SQLExceptione>{ JOptionPane.showMessageDialog<null,"产品名称已存在!">;t1.setText<"">; } }pu

温馨提示

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

评论

0/150

提交评论