2020{销售管理}数据库销售管理系统实验报告完整版附代码

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库销售管理系统实验报告完整版附代码
大连海事大学本科生实验报告
数据库原理- 操作实训
院(系):交通运输管理学院
专业:电子商务
课程名称:数据库原理
学号:2220 203494
学生:周慧敏
任课教师:贺琳
完成日期:2020 年12 月
1.实验目的
掌握数据库模式设计,依据实际要求设计表结构,建立表的关系;结合一定的开发工具实现数据库应用程序的开发。

2.实验环境
2.1 硬件环境:
处理器:Intel(R) Core(TM) i3 CPU M 380 @ 2.53GHz 2.53GHz
安装内存:(RAM):2GB(1.86GB可用)
2.2 软件环境
操作系统:Windows7
数据库管理系统:微软公司的SQL Server2005
开发工具:Eclipse
3.需求分析
销售管理系统,可用于企业的销售信息管理,查询,更新与维护,使用方便,易用性强,图形界面清晰明了。

该软件用java语言编写,用SQLServer2005数据库作为后台的数据库进行信息的存储,用SQL语句完成销售信息的添加,查询,修改,删除的操作。

用ODBC驱动实现前台Java与后台SQL数据库的连接。

Java语言跨平台性强,可以在windows,linux,ubuntu等系统下使用,方便简单,安全性好。

SQLServer2005数据库高效安全,两者结合可相互利用各自的优势。

该系统实现的大致功能:
1.用户登陆界面。

该界面可以选择使用者的身份,“系统管理员,基本档案管理员,业务员”。

不同的身份有不同的操作界面和功能权限。

ID号和密码输入正确即可登录。

2.系统管理员界面,拥有最高权限。

提供了客户信息管理、产品信息管理、订单信息管理、
发货管理与签收管理等功能。

3.基本档案管理员界面。

提供了客户信息管理、产品信息管理等功能。

4.业务员界面。

提供了订单信息管理、发货管理与签收管理等功能。

5.登录的用户信息分别存储在SQ L数据库的“unpw表”中,如果用户信息不存在这个表中,
将会无权利登录本管理系统。

6.保证了本销售管理系统的安全性。

系统功能图如下:
4
1:客户信息实体
客户信息实体包括客户名称、单位地址、联系电话、地址、开户银行、银行账号、发票抬头、所在区域等属性。

客户信息实体的E-R图如图所示。

2:发货单实体
发货单实体包括客户名称、联系人、联系电话、发货地址、地址、产品名称、型号、数量、单价、运费、总价、发货日期等属性,E-R图如图所示。

订单信息实体主要包括客户名称、联系人、联系电话、发货地址、最后到货期限(日期)
以及产品名称、型号、数量、产品要求等属性。

E-R图如图所示。

规格
(1)表-dbo.客户信息(客户信息表)
客户信息表包括客户名称、单位地址、联系电话、地址、开户银行、银行帐号、发票抬头、所在区域等信息。

(2)表-dbo.产品信息(产品信息表)
产品信息表包括产品名称、规格、型号、操作系统、产品描述、产品分类等信息。

(3)表-dbo.订单信息(订单信息表)
订单信息表包括客户名称、联系人、联系电话、发货地址、最后到货期限(日期)以及产品名称、型号、数量、产品要求等信息。

(4)表-dbo.发货单信息(发货单表)
发货单表主要包括客户名称、联系人、联系电话、发货地址、地址、产品名称、型号、数量、单价、运费、总价、发货日期等信息。

(5)表- dbo.签收单信息(签收单表)
签收单表主要包括客户名称、联系人、联系电话、发货地址、地址、产品名称、型号、数量、单价、运费、总价、收货日期等信息。

(6)表-dbo.unpw(用户表)
用户表包括un、pw、qx等信息。

6.数据库实现
(1)数据库关系图
(2)SQL语句实现
数据表的创建:
(i)客户信息表创建:
create table 客户信息表(
客户名称nchar(10) not null primary key , 单位地址nchar(10),
联系电话nchar(10),
地址ncha r(10),
开户银行n char(10),
银行账号nchar(10),
发票抬头nchar(10),
所在区域nchar (10),
)
(ii)产品信息表创建:
create table 产品信息表(
产品名称nchar(10) not null primary key , 规格nchar(10),
型号nchar(10),
操作系统n char(10),
产品描述nchar(10),
产品分类nchar(10),
)
(iii)订单信息表创建:
create table 订单信息表(
客户名称nch ar(10) not null prima ry key , 联系人n char(10),
联系电话nchar(10),
发货地址nchar(10),
最后到货期限nchar(10),
产品名称nch ar(10),
型号nchar(10) ,
数量int,
产品要求nchar(10),
)
(iv)发货单表创建:
create table 发货单表(
客户名称nchar(10) n ot null primary key , 联系人nchar(10),
联系电话nchar(10),
发货地址nchar(10),
地址nchar(10),
产品名称nchar(10),
型号nchar(10),
数量int,
单价int,
运费int,
总价int,
发货日期nchar(10),
)
(v)收货单表创建:
c reate table 收货单表(
客户名称nchar(10) not null primary key , 联系人nchar(10),
联系电话nchar(10),
发货地址nch ar(10),
地址nchar(10),
产品名称nchar(10),
型号nchar(10),
数量int,
单价int,
运费int,
总价int,
收货日期nchar(10),
)
(v i)管理员信息表创建:
create table unpw表(
qx int n ot null primary key ,
un varchar(12) not n ul l,
pw varchar(12) not null

7.应用系统设计实现
(1)用户登录模块
(2)各用户操作模块
(i)系统管理员操作模块
(ii)基本档案管理员操作模块
(iii)业务员操作模块
(3)系统管理员登录
在登陆界面选择“系统管理员”角色,输入正确的ID和密码。

验证成功则可进入系统管理员管理界面。

系统管理员ID号和登录密码存在数据库中的管理员信息表。

表中存在的管理员才允许登录。

(i)点击客户信息管理,弹出如下界面:
(ii)点击显示按钮后,会出现数据库里保存的客户信息:
(iii)点击增加按钮,弹出如下界面,输入要增加的客户信息,成功后会弹出增加成功的提示窗口:
(iv)增加客户信息成功后客户信息管理界面会增加一行客户信息,如图所示:(v)选中一条客户信息,点击删除按钮,成功后会出现删除成功的提示窗口:(vi)成功删除Tom客户的信息后,客户信息管理界面变化如下:
(vii)选中一行客户信息,点击修改按钮,出现如下界面,输入要修改的信息,成功后弹出修改成功的提示窗口:(此处修改了客户Tom的联系电话)
(viii)点击查询按钮,弹出如下窗口:
在文本框中输入“Hei“,即可查询所在区域为”Hei“的客户信息:
其他模块与客户信息管理模块类似,均能实现信息的查询、修改、删除、增加、显示等功能,在此不再赘述;点击退出系统即可完成本次操作。

经过系统一系列的增删改查操作之后,sql sever 2005数据库上的客户信息表同时
也发生了改变:
8.实验总结(实验心得)
本次操作实训虽然很辛苦,但实在是受益匪浅。

在操作实训过程中碰到了很多问题,刚开始的时候,还真不知道从哪里下手。

但最终在图书、同学和老师的帮助下都得到了解决,让我学会了好多书本上没有的东西,通过本次操作实训我也能将课本上的知识融会贯通,起到了很好的辅助学习的效果,但是我发现我学到的知识比整整一个学期学到的都多。

理论和实践的相结合是学习最有效的方法。

在实验的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,这次操作实训之后,一定把以前所学过的知识重新温故。

通过这次操作实训使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

附录:代码
Control.java
package zhm;
public class Control {
public static void main(String[ ] args) {
new DLFrame();
}
}
DLFrame.java
package zhm;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
public class DLFrame extends JFrame implements ActionListener, ItemListener {// 登录界面
private static final long serialVersionUID = 1L;
JPanel p1 = null;
JPanel p2 = null;
JPanel p3 = null;
JLabel userName = new JLabel("用户:");
JText Field txtUser = new JT extField();
JLabel password = new JLabel("密码:");
JPasswordField txtPwd = new JPa sswordField(6);
JLabel role = new JLabel("角色:");
JComboBox<String> cbrole = new JComboBox<String>();
JButton btnLogin = new JButton("登录");
JButton btncz = new JButton("重置");
JButton btnCancel = new JButton("取消");
JLabel imageLabel;
Icon image;
static int O K = 1;
static int CANCEL = 0;
int actionCode = 0;
Connection con = null;
S tatement stmt = null;
ResultSet rs = null;
int qxian = 0;
@SuppressWarnings("deprecation")
public DLFrame() {// 构造方法
super("登录界面");
p1 = new JPanel();
p2 = new JPanel();
p3 = new JPanel();
cbrole.addItem("系统管理员");
cbrole.addItem("基本档案管理员");
cbrole.addItem("业务员");
/*image = new ImageIcon("picture\\st.jpg");
imageLabel = new JLabel(image);
p1.add(imageLabel);*/
this.setLayout(n ew FlowLayout());
this.setBounds(150 , 150, 250, 250);
p2.setLayout(new GridLayo ut(4, 2));
p2.add(userName);
p2.add(txtUser);
p2.add(password);
p2.add(txtPwd);
p2.add(role);
p2.add(cbrole);
p3.add(bt nLogin);
p3.add(btncz);
p3.add(btnCancel);
this.add(p1);
this.add(p2);
this.add(p3);
this.setResizable(false);
this.setDefaultCloseOperation(JFrame. EXIT_ON_CLOS E);
this.show();
btnLogin.addActionListener(this);
cbrole.addItemListener(this);
btncz.addActionListener(this);
btnCancel.addActionListener(this);
}
public void connDB() { // 连接数据库
try {
Class.forName("com.microsoft.sqlser ver.jdbc.SQLServerDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
try {
con = DriverManager.getConnection(
"jdbc:sqlserver://localhost:1433; DatabaseName=销售管理系统",
"sa", "2191826");
stmt = c on.createStatement();
} catch (SQLException e) {
e.printStackTrace();
}
}
public void closeDB() // 关闭连接
{
try {
stmt.close();
con.close();
} catch (SQLException e) {
e.printSta ckTrace();
}
}
public void itemStateChanged(I temEvent e) {
if (e.getStateChange() == ItemEvent.SELECTED) {
JComboBox<?> jcb = (JComboBox<?>) e.getSource();
q xian = jcb.getSelectedIndex();
}
}
@SuppressWarnings("deprecation")
public void actionPerformed(ActionEvent e) {
Object source = e.getSource();
String un = null;
String pw = null;
boolean success = false;// 用于判断是否登录成功
if (source == btnLogin) {
if (txtUser.get Text().equals("") || txtPwd.getPassword().equals("")) {// 判断是否输入了用户名和密码
JOptionPane.showMessageDialog(null, "登录名和密码不能为空!");
} else {
this.connDB();
try {
rs = stmt.executeQuery("select * from unpw where qx="+qxian);
while (rs.next()) {
un = rs.getString("un").trim();
pw = rs.getStrin g("pw").trim();
if (txtUser.getText().equals(un)) {
if (txtPwd.getTex t().equals(pw)) {
actionCode = OK;
this.setVisible(false);
if (qxian==0) {
new sysManagerFrame();// 进入系统管理员界面
}
if (qxian==1) {
new baseManagerFrame();// 进入基本档案管理员
界面
}
if (qxian==2) {
new businessManFrame();// 进入业务员界面
}
success = t rue;
break;
} else {
JOptionPane.showMessageDialog(null, "密码错误!");
txtPwd.setText("");
success = true;
}
}
}
if (!success) {
JOptionPane.sho wMessageDialog(null, "登录名错误!");
txtUser.setText("");
txtPwd.setText("");
}
} catch (SQLException e1) {
e1.printStackTrace();
}
}
} else i f (source == btncz) {
txtUser.setText("");
txtPwd.setText("");
} else if (source == btnCancel) {
System.exit(0);
}
}
}
sysManagerFrame.java
package zhm;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class sysManagerFrame extends JFr ame implements Ac tionListener {// 系统管理员界面
private sta tic final long serialVersionUID = 1L;
JPanel p1 = new JPanel();
JPanel p2 = new JPanel();
JButton btns = new JButton("客户信息管理" );
JButton btnc = new JButton("产品信息管理");
JButton btnsc = new JButton("订单信息管理");
JButton btng = new JButton("发货管理"); JButton btnu = new JButton("签收管理"); JButton btnClose = new JButton("退出管理系统"); JLabel l = new JLabel(" 系统管理员");
@SuppressWarnings("deprecation") sysManagerFrame() {// 构造方法
super("销售管理系统");
setSize(20 5, 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.a dd(btnClose);
btns.addActionListener(this);
btnc.addActionListener(this);
btnsc.addActionListener(this);
btng.addActionListener(this);
btnu.add A ctionListener(this);
btnClose.addActionListener(this);
this.setResizable(false);
this.se tDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
show();
}
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand() == "客户信息管理")
new CustomerManager("客户信息管理").di spla y();
if (e.getActionCommand() == "产品信息管理") {
new ProductManager("产品信息管理").display( );
}
if (e.getActionCommand() == "订单信息管理") {
new OrderManager("订单信息管理").display();
}
if (e.getActi onCommand() == "发货管理") {
new se ndManager("发货管理").display();
}
if (e.g etActionCommand() == "签收管理") {
new ReceiveManager("签收管理").display();
}
if (e.g etActionCommand() == "退出管理系统") {
System.exit(0);
}
}
}
baseManagerFrame.java
package zhm;
import ja va.awt.event.*;
import javax.swing.*;
public class baseManagerFrame extends JFrame implements ActionListen er {// 系统管理员界面
private static final long serialVersionUID = 1L;
JPanel p1 = new JPanel();
JPanel p2 = new JPanel();
JButton btns = new JButton("客户信息管理");
JButton btnc = new JButton("产品信息管理");
JButton btnClose = new JButton("退出管理系统");
JLabel l = new JLabel("基本档案管理员");
@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.addActio nListener(this);
btnClose.addActionListener(thi s);
th is.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
show();
}
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand() == "客户信息管理")
new Customer Ma nager("客户信息管理"). display();
if (e.getActionCommand() == "产品信息管理") {
new ProductManager("产品信息管理").display();
}
if (e.getActionCommand() == "订单信息管理") {
new OrderManager("订单信息管理").display();
}
if (e.getActionCommand() == "退出管理系统") {
System.exit(0);
}
}
}
businessManFrame.java
package zhm;
import java.awt.event.*;
import javax.swing.*;
public class businessManFrame extends JFrame implements ActionLi stener {// 业务员界面
private static final long serialVersionUID = 1L;
JPanel p1 = new JPanel();
JPanel p2 = new JPanel();
JButton btnsc = new JButton("订单信息管理");
JButton btng = new JButton("发货管理");
JButton b tnu = new JButton("签收管理");
JButton btnClose = new JButton("退出管理系统");
JLabel l = new JLabel("业务员");
@SuppressWarnings("deprecation")
business ManFrame() {// 构造方法
super("销售管理系统");
setSize(205, 300);
add("Nort h", 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();
}
public v oid actionPerformed(ActionEvent e) {
if (e.getActionCommand() == "订单信息管理") {
new OrderManager("订单信息管理").display();
}
if (e .getActionCommand() == "发货管理") {
new sendManager("发货管理").display();
}
if (e. getAc tionCommand() == "签收管理" ) {
new ReceiveManager("签收管理").display();
}
if (e.getActionCommand() == "退出管理系统") {
System.exit(0);
}
}
}
CustomerAdd.java
package zhm;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
public class Customer Add extends JFrame implements ActionListener{// 用于客户信息管理中增加或修改某条记录的界面
private static final long serialVersionUID = 1L;
JLabel l1 = new JLabel("客户名称:");
JLabel l2 = new JLabel("单位地址:");
JLabel l3 = new JLabel("联系电话:");
JLabel l4 = new JLabel("地址:");
JLabel l5 = new JLabel("开户银行:");
JLabel l6 = new JLabel("银行账号:");
JL abel l7 = new JLabel("发票抬头:");
JLabel l8 = new JLabel("所在区域:");
JTextField t1 = new JTextField(10);
JTextField t2 = new JTextField(10);
JTextField t3 = new JTe xtField(1 0);
JTextField t4 = new JTextField(10);
JT extField t5 = new JTextField(10);
JTextField t6 = new JTextField(10);
JTextField t7 = new JTextField(10);
JTextField t8 = new JTextField(10);
JButton btnOK = new JButton("确定");
JButton btnCancel = new JButton("取消");
JPanel p = new JPanel();
Conn ection con = null;
Statement stmt = null;
ResultSet rs = null;
boolean isNewsm = true;// 用于判断是否显示客户信息管理的界面@SuppressWarnings("deprecation")
public CustomerAdd() {// 构造方法
this.setTitle("增加");
this.setBounds(30 0, 300, 225, 350);
p.setLayout(new FlowLayout(FlowLayout . LEFT));
p.add(l1);
p.add(t1);
p.add(l2);
p.ad d(t2);
p.add(l3);
p.add(t3);
p.add(l4);
p.add(t4);
p.add(l5);
p.add(t5);
p.add(l6);
p.ad d(t6);
p.add(l7);
p.add(t7);
p.add(l8);
p.add(t8);
p.a dd(btnOK);
p.add(btnCancel);
this.add(p);
this.setResizable(f alse);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
btnOK.addActionListener(this);
btnCancel.addActionListener(this);
this.show();
}
public void connDB() { // 连接数据库
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
try {
con = DriverManager.getConnection(
"jdbc:sqlserver://localhost:1433; DatabaseName=销售管理系统" ,
"sa", "2191826");
stmt = con.createStatement();
} catch (SQLException e) {
e.p rintStackTrace();
}
}
public void closeDB() // 关闭连接{
try {
stmt.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
pu blic void insertst() { // 插入记录String x = nu ll;
String y = null;
String z = null;
String a = null;
String b = nul l;
String c = null;
String d = null;
String e = 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")
int rs1 = stmt.executeUpdate("delete from 客户信息where 客户名称='"
+ x + " '");
} catch (SQLException e1) {
e1.printStackTrace();
}
}
String str = "insert i nto 客户信息values('" + x + "','" + y + "','"
+ z + "','" + a + "','" + b + "','" + c + "','" + d + "','" + e + "')";
this.connDB();// 连接数据库
try {
stmt.executeUpdate(str);
JOptionPane.showMessageDialog(null, this.getTitl e() + "成功!",
"提示", RMATION_MESSAGE, new ImageIcon(
"menu4.gif"));
this.setVisible(false);
}
catch (SQLException e1) {
JOption Pane.showMessageDialog(null, "客户名称已存在!");
t1.setText("");
}
}
public void actionPerformed(ActionEvent e) {
if (e. getActionComma nd() == "确定") {
this.insertst();
if (isNewsm) {
new CustomerManager("客户信息管理").display();
}
isNewsm = true;
}
if (e.getActionCommand() == "取消") {
this.setVisible(false);
new CustomerManager("客户信息管理").display();
}
}
}
CustomerManager.java
package zhm;
import java.awt.event .*;
import java.sql.*;
import java.util.*;
import javax.swing.*;
public class CustomerManager extends JFrame implements ActionListener {// 客户信息管理
private static final long serialVersionUID = 1L;
JPanel p = new JPanel();
JButton btnAdd = new JButton("增加");
JButton btnDelete = new JButton("删除");
JButton btnAlter = new JButton("修改");
JBut ton btnSearch = new JButton("查询");
JButton bt nDisplay = new JButton("显示");
JMenuBar mb = new JMenuBar();
JPanel p1 = new JPanel();;
JTable sTable;
JScrollPane scroll;
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
Object[][] playerInfo;
CustomerSelect sst;
String mxh = null;
boolean b st d = false;
Custom erManager(String title) {// 构造方法
super(title);
add("South", p);
this.add("Center", p1);
mb.add(btnAdd);
mb.add(bt nDelete);
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(CustomerSelect sst,Strin g title) {// 构造方法super(title);
this.sst = sst;
bstd = true;
add("South", p);
this.add("Center", p1);
mb.add(btn Add);
mb.add(btnDelete);
mb.add(btnAlter);
mb.add(btnSearch) ;
mb.a dd(btnDisplay);
this.connDB();
this.setBounds(300, 300, 600, 450);
bt nAdd.addActionListener(this);
btnDelete.addActionListener(this);
btnAlter.addActionListener(this);
btnSearch.addActionListener(t his);
btnDisplay.addActionListener(this);
this.setJMenuBar(mb);
this.setResizable(false);
show();
}
public void display() {// 显示所有客户的基本信息int i = 0;
int j = 0;
List<Str ing> al = new ArrayList<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.g etString("地址"));
al.add(rs.getString("开户银行"));
al.add(rs.getString("银行账号"));
al.add(rs.getString("发票抬头"));
al.add(rs.getString("所在区域"));
i++;
}
} catch (SQLException e) {
e.printStackTrace();
}
playerInfo = new Object[i][8];
String[] columnNames = { "客户名称", "单位地址", "联系电话", "地址", "开户银行", "银行账号", "发票抬头", "所在区域",};
try {
rs = stmt.executeQuery("select * from 客户信息order by 客户名称");
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 (SQLException e) {
e.printStackTrace();
}
sTable = new JTable(playerInfo, columnNames);// 创建网格
p1.add(sTable);
scroll = new JScrollPan e(sTable);
this.add(scroll);
}
public void connDB() { // 连接数据库
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriv er");
} catch (ClassNotFoundException e) {
e.prin tStackTrace();
}
try {
con = DriverManager.getConnection(
"jdbc:sqlse rver://localhost:1433; DatabaseName=销售管理系统",
"sa", "2191826");
stmt = con.createStatement();
} ca tch (SQLException e) {
e.printStackTrace();
}
}
public void closeDB() // 关闭数据库连接
{
try {
stmt.cl ose();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
public void delete() {// 删除某个客户的基本信息
String xh = null;
String xm = n ull;
@SuppressWarnings( "unused")
String xn = null;
@SuppressWarnings("unused")
String xp = null;
@SuppressWarnings("unused")
String xr = n ull;
String xs = null;
String xb = null;
@SuppressWarnings("unused")
String yx = null;
int row = -1;
row = sTable.getSelectedRow();
if (row == -1) {// 判断要删除的信息是否被选中
JOptionPane.showMessageDialog(null, "请选择要删除的记录!" );
} else {
if (!bst d) {// 判断选择的是不是查询后的结果
int j1 = 0;
try {
rs = stmt.executeQuery("select * from 客户信息");
while (rs.nex t() && 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 (SQLException e) {
e.printStackTrace();
}
int i1 = 0;
try {
@SuppressWarnings("unused")
int rs1 = stmt.executeUpdate("delete from 客户信息where 客户名称='"
+ xh + "'"); // 删除数据库中当前被选中的记录
JOptionPane.showMessageDialog (null, "记录删除成功!");
this.dispose();
new CustomerManager("客户信息管理").display();
} catch (SQLException e) {
e.printStackTrace();
}
} else {
try {
@SuppressWarnings("unused")
int rs1 = stmt.executeUpdate("delete from 客户信息where 客户名称='"
+ xh + "'");
JOptionPane.showMessageDia log(null, "记录删除成功!");
this.dispose();
new CustomerManager("客户信息管理").display( );
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
public void update() {// 修改某个客户的基本信息
String xh = null;
String xm = null;
String xn = null;
String xp = null;
String xr = null;
String xs = null;
String xb = null;
String yx = null;
int row = -1;
row = sTable.getSelectedR ow();
if (row == -1) {
JOptionPane.showMessageDialog(null, "请选择要修改的记录!");
} else {
int j1 = 0;
try {
if (!bstd) {// 判断选择的是不是查询后的结果
rs = stmt.executeQuery ("select * from 客户信息");
} else {
rs = stm t.executeQuery("select * from 客户信息where 客户名称='" + xh
+ "'");
}
while (rs.next() && j1 <= row) {// 找出当前被选中的记录在数据库中的对应
xh = rs.getString("客户名称");
xm = rs.getString("单位地址");
xn = rs.getString("联系电话");
xp = rs.getString("地址");
xr = rs.g etString("开户银行");
xs = rs.getString("银行账号");
xb = rs.getString("发票抬头");
yx = rs.getString("所在区域");
j1++;
}
} cat ch (SQLException e) {
e.printStackTrace();
}
CustomerAdd cadd = new CustomerAdd();
cadd.setTitle("修改");
cadd.t1.setText(xh);
cadd.t2.setText(xm) ;
cadd.t3.setText(xn);
ca dd.t4.setText(xp);
cadd.t5.setText(xr);
cadd.t6.setText(xs);
cadd.t7.setText(xb);
cadd.t8.setText(y x);
cadd.t1.setEnabled(false);
this.dis pose();
}
}
public void select() {// 显示某个查询的结果
Str ing mx;
mx = sst.x;
playerInfo = new Object[1][8];
String[] colum nNames = { "客户名称", "单位地址", "联系电话", "地址", "开户银行", "银行账号", "发票抬头", "所在区域"};
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.getS tring("所在区域");
}
} catch (SQLException e) {
e.printStackTr ace();
}
if (playerInfo[0][7] == null) {
this.dispose();
JOption Pane.showMessageDialog(null, "客户所在区域不存在!");
new CustomerManager("客户信息管理").display();
} else {
sTable = new JTable(playerInfo, columnNames);// 创建网格
p1.add(sTable);
scroll = new JScrollPane(sTable);
this.add(scroll);
}
} public void actionPerformed(ActionEvent e) {
if (e.getActionCommand() == "增加") {
new CustomerAdd();
this.dispose();
}
if (e.getActionCommand() == "删除") {
this.delete();
}
if (e.g e tActionCommand() == "修改") {
this.update();
}
if(e.getActionCommand() == "查询") {
sst = new CustomerSelect();
this.dispose();
}
if (e.getActionCommand() == "显示") {
this.dispose();
new CustomerManager("客户信息管理").display();
}
}
}
Cus tomerSelect.java
package zhm;
import java.awt.event.*;
import javax.swing.*;
public class CustomerSelect extends JFrame implements ActionListene r {// 用于客户
信息管理中查询时输入所在区域的界面
private static final long serialVersionUID = 1L;
JLabel ltitle = new JLabel("所在区域:");
JTextField t1 = new JTextField(8);
JButton btnOK = new JButton("确定");
JPanel p = new JP anel();
String x = null;
@SuppressWarnings("deprecation")
public CustomerSelect() { // 构造方法
p.add(ltitle);
p.add(t1);
p.add(btnOK);
add(p);
t his.setBounds(450, 420, 300, 240);
btnOK.addActionListener(this);
this.setResizable(false);
this.show();
}
public void actionPerformed(ActionEvent e) {
x = t1.getText();// 取得当前输入所在区域的值
if (x.equals("")) {// 判断是否输入了所在区域
JOptionPane.showMessageDialog(null, "所在区域不能为空,请重新输入!");
} else {
this.dispose();
new CustomerManager(this,"客户信息管理").select();
}
}
}
ProductAdd.java
package zhm;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
public class ProductAdd extends JFrame implements ActionListener {// 用于产品信息管理中增加或修改某条记录的界面
private static final long serialVersionUID = 1L;
JLabel l1 = new JLabel("产品名称:");
JLabel l2 = new JLabel("规格:");
JLabel l3 = new JLabel("型号:");
J Label l4 = new JLabel("操作系统:");
JLabel l5 = new JLabel("产品分类:");
JLabel l6 = new JLabel("产品描述:");
JTextField t1 = new JTextField(10);
JTextField t2 = new JTextField(10);
JTextField t3 = new JTextField(10);。

相关文档
最新文档