admin 管理员组文章数量: 1086019
2024年1月13日发(作者:代码拉取下来了能跑登录页面)
大连海事大学本科生实验报告
数据库原理-操作实训
院 (系): 交通运输管理学院
专 业: 电子商务
课程名称: 数据库原理
学 号: **********
学 生: 周慧敏
任课教师: **
完成日期: 2013 年 12 月
1.实验目的
掌握数据库模式设计,依据实际要求设计表结构,建立表的关系;结合一定的开发工具实现数据库应用程序的开发。
2.实验环境
2.1 硬件环境:
处理器:Intel(R)Core(TM)***************** 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. 登录的用户信息分别存储在SQL数据库的“unpw表”中,如果用户信息不存在这个表中,将会无权利登录本管理系统。
6. 保证了本销售管理系统的安全性。
系统功能图如下:
销售管理系统
订单信息管理
业务员
系统管理员
基本档案管理员
发货管理
签收管理
4.概念结构设计
客户信息管理
产品信息管理
订单信息管理
发货管理
签收管理
客户信息管理
产
品信息管理
订单信息管理
根据以上对系统的需求分析,系统设计,本系统使用的数据库实体分别为客户信息实体,产品信息实体,订单信息实体,发货单实体,签收单实体。
1:客户信息实体
客户信息实体包括客户名称、单位地址、联系电话、地址、开户银行、银行账号、发票抬头、所在区域等属性。客户信息实体的E-R图如图所示。
客户名称
开户银行
单位地址
联系电话
地址
客户信息
银行账号
发票抬头
所在区域
2:发货单实体
发货单实体包括客户名称、联系人、联系电话、发货地址、地址、产品名称、型号、数量、单价、运费、总价、发货日期等属性,E-R图如图所示。
产品名称
联系电话
联系人
发货地址
地址
客户名称
发货单
型号
数量
单价
总价
运费
发货日期
3:签收单实体
签收单实体包括客户名称、联系人、联系电话、发货地址、地址、产品名称、型号、数量、单价、运费、总价、收货日期等属性,E-R图如图所示。
产品名称
联系电话
联系人
发货地址
地址
客户名称
签收单
型号
数量
单价
总价
运费
收货日期
4:unpw实体
unpw实体包括un、pw、qx等属性,E-R图如图所示。
un
pw
unpw
qx
5:产品信息实体
产品信息实体主要包括产品名称、规格、型号、操作系统、产品描述、产品分类等属性。E-R图如图所示。
产品名称
操作系统
规格
型号
产品信息
产品描述
产品分类
6:订单信息实体
订单信息实体主要包括客户名称、联系人、联系电话、发货地址、最后到货期限(日期)以及产品名称、型号、数量、产品要求等属性。E-R图如图所示。
客户名称
联系人
联系电话 发货地址
最后到货期限
订单信息
产品名称
型号
数量
产品要求
实体属性表:
实体
客户信息
产品信息
订单信息
签收单
属性
客户名称、单位地址、联系电话、地址、开户银行、银行账号、发票抬头、所在区域
产品名称、规格、型号、操作系统、产品描述、产品分类
客户名称、联系人、联系电话、发货地址、最后到货期限(日期)以及产品名称、型号、数量、产品要求
客户名称、联系人、联系电话、发货地址、地址、产品名称、型号、数量、单价、运费、总价、收货日期
发货单
客户名称、联系人、联系电话、发货地址、地址、产品名称、型号、数量、单价、运费、总价、发货日期
、pw(密码)、qx(用户)
unpw(用户)
un(登录名)
客户名称
数量
单价
运费
总价
开户银行
单位地址
规格
型号
产品名称
操作系统
产品描述
产品分类
产品信息
产品名称
1包含n
型号
1采购n
订单信息
地址
数量
客户信息
所在区域
1
生成1
产品要求
产品名称
联系电话1
签收
N
发票抬头
型号
发货单
客户名称 数量
银行账号
联系电话 单价
运费
签收单
联系人
发货地址
地址
收货日期
发货日期
总价
5.逻辑结构设计
(1) 表-dbo.客户信息(客户信息表)
客户信息表包括客户名称、单位地址、联系电话、地址、开户银行、银行帐号、发票抬头、所在区域等信息。
(2) 表-dbo.产品信息(产品信息表)
产品信息表包括产品名称、规格、型号、操作系统、产品描述、产品分类等信息。
(3)表-dbo.订单信息(订单信息表)
订单信息表包括客户名称、联系人、联系电话、发货地址、最后到货期限(日期)以及产品名称、型号、数量、产品要求等信息。
(4) 表-dbo.发货单信息(发货单表)
发货单表主要包括客户名称、联系人、联系电话、发货地址、地址、产品名称、型号、数量、单价、运费、总价、发货日期等信息。
(5) 表-dbo.签收单信息(签收单表)
签收单表主要包括客户名称、联系人、联系电话、发货地址、地址、产品名称、型号、数量、单价、运费、总价、收货日期等信息。
(6) 表-(用户表)
用户表包括un、pw、qx等信息。
6.数据库实现
(1)数据库关系图
(2)SQL语句实现
数据表的创建:
(i)客户信息表创建:
create table 客户信息表(
客户名称 nchar(10) not null primary key ,
单位地址 nchar(10),
联系电话 nchar(10),
地址 nchar(10),
开户银行 nchar(10),
银行账号 nchar(10),
发票抬头 nchar(10),
所在区域 nchar(10),
)
(ii)产品信息表创建:
create table 产品信息表(
产品名称 nchar(10) not null primary key ,
规格 nchar(10),
型号 nchar(10),
操作系统 nchar(10),
产品描述 nchar(10),
产品分类 nchar(10),
)
(iii)订单信息表创建:
create table 订单信息表(
客户名称 nchar(10) not null primary key ,
联系人 nchar(10),
联系电话 nchar(10),
发货地址 nchar(10),
最后到货期限 nchar(10),
产品名称 nchar(10),
型号 nchar(10),
数量 int,
产品要求 nchar(10),
)
(iv)发货单表创建:
create table 发货单表(
客户名称 nchar(10) not null primary key ,
联系人 nchar(10),
联系电话 nchar(10),
发货地址 nchar(10),
地址 nchar(10),
产品名称 nchar(10),
型号 nchar(10),
数量 int,
单价 int,
运费 int,
总价 int,
发货日期 nchar(10),
)
(v)收货单表创建:
create table 收货单表(
客户名称 nchar(10) not null primary key ,
联系人 nchar(10),
联系电话 nchar(10),
发货地址 nchar(10),
地址 nchar(10),
产品名称 nchar(10),
型号 nchar(10),
数量 int,
单价 int,
运费 int,
总价 int,
收货日期 nchar(10),
)
(vi)管理员信息表创建:
create table unpw表(
qx int not null primary key ,
un varchar(12) not null,
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.实验总结(实验心得)
本次操作实训虽然很辛苦,但实在是受益匪浅。在操作实训过程中碰到了很多问题,刚开始的时候,还真不知道从哪里下手。但最终在图书、同学和老师的帮助下都得到了解决,让我学会了好多书本上没有的东西,通过本次操作实训我也能将课本上的知识融会贯通,起到了很好的辅助学习的效果,但是我发现我学到的知识比整整一个学期学到的都多。理论和实践的相结合是学习最有效的方法。在实验的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,这次操作实训之后,一定把以前所学过的知识重新温故。
通过这次操作实训使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
附录:代码
package zhm;
public class Control {
public static void main(String[] args) {
new DLFrame();
}
}
package zhm;
import .*;
import .*;
import .*;
import .*;
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("用户:");
JTextField txtUser = new JTextField();
JLabel password = new JLabel("密码:");
JPasswordField txtPwd = new JPasswordField(6);
JLabel role = new JLabel("角色:");
JComboBox
JButton btnLogin = new JButton("登录");
JButton btncz = new JButton("重置");
JButton btnCancel = new JButton("取消");
JLabel imageLabel;
Icon image;
static int OK = 1;
static int CANCEL = 0;
int actionCode = 0;
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
int qxian = 0;
@SuppressWarnings("deprecation")
public DLFrame() {// 构造方法
super("登录界面");
p1 = new JPanel();
p2 = new JPanel();
p3 = new JPanel();
m("系统管理员");
m("基本档案管理员");
m("业务员");
/*image = new ImageIcon("");
imageLabel = new JLabel(image);
(imageLabel);*/
}
out(new FlowLayout());
nds(150, 150, 250, 250);
out(new GridLayout(4, 2));
(userName);
(txtUser);
(password);
(txtPwd);
(role);
(cbrole);
(btnLogin);
(btncz);
(btnCancel);
(p1);
(p2);
(p3);
izable(false);
aultCloseOperation(_ON_CLOSE);
();
ionListener(this);
mListener(this);
ionListener(this);
ionListener(this);
public void connDB() { // 连接数据库
try {
e("verDriver");
} catch (ClassNotFoundException e) {
tackTrace();
}
try {
con = nection(
"jdbc:sqlserver://localhost:1433; DatabaseName=销售管理系统",
"sa", "2191826");
stmt = Statement();
} catch (SQLException e) {
tackTrace();
}
}
public void closeDB() // 关闭连接
{
try {
();
();
} catch (SQLException e) {
tackTrace();
}
}
public void itemStateChanged(ItemEvent e) {
if (teChange() == ED) {
JComboBox> jcb = (JComboBox>) rce();
qxian = ectedIndex();
}
}
@SuppressWarnings("deprecation")
public void actionPerformed(ActionEvent e) {
Object source = rce();
String un = null;
String pw = null;
boolean success = false;// 用于判断是否登录成功
if (source == btnLogin) {
if (t().equals("") || sword().equals("")) {// 判断是否输入了用户名和密码
ssageDialog(null, "登录名和密码不能为空!");
} else {
();
try {
rs = eQuery("select * from unpw where qx="+qxian);
while (()) {
un = ing("un").trim();
pw = ing("pw").trim();
if (t().equals(un)) {
if (t().equals(pw)) {
actionCode = OK;
ible(false);
if (qxian==0) {
new sysManagerFrame();// 进入系统管理员界面
}
if (qxian==1) {
new baseManagerFrame();// 进入基本档案管理员界面
}
if (qxian==2) {
new businessManFrame();// 进入业务员界面
}
success = true;
break;
} else {
ssageDialog(null, "密码错误!");
t("");
success = true;
}
}
}
if (!success) {
ssageDialog(null, "登录名错误!");
t("");
t("");
}
} catch (SQLException e1) {
tackTrace();
}
}
} else if (source == btncz) {
t("");
}
}
t("");
} else if (source == btnCancel) {
(0);
}
package zhm;
import Event;
import Listener;
import n;
import ;
import ;
import ;
public class sysManagerFrame extends JFrame implements ActionListener {// 系统管理员界面
private static 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(205, 300);
add("North", p1);
add("Center", p2);
(l);
(btns);
(btnc);
(btnsc);
(btng);
(btnu);
(btnClose);
ionListener(this);
ionListener(this);
ionListener(this);
ionListener(this);
ionListener(this);
ionListener(this);
izable(false);
aultCloseOperation(_ON_CLOSE);
show();
}
public void actionPerformed(ActionEvent e) {
if (ionCommand() == "客户信息管理")
}
}
new CustomerManager("客户信息管理").display();
if (ionCommand() == "产品信息管理") {
new ProductManager("产品信息管理").display();
}
if (ionCommand() == "订单信息管理") {
new OrderManager("订单信息管理").display();
}
if (ionCommand() == "发货管理") {
new sendManager("发货管理").display();
}
if (ionCommand() == "签收管理") {
new ReceiveManager("签收管理").display();
}
if (ionCommand() == "退出管理系统") {
(0);
}
package zhm;
import .*;
import .*;
public class baseManagerFrame extends JFrame implements ActionListener {// 系统管理员界面
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);
(l);
(btns);
(btnc);
(btnClose);
ionListener(this);
ionListener(this);
ionListener(this);
izable(false);
aultCloseOperation(_ON_CLOSE);
show();
}
public void actionPerformed(ActionEvent e) {
if (ionCommand() == "客户信息管理")
}
}
new CustomerManager("客户信息管理").display();
if (ionCommand() == "产品信息管理") {
new ProductManager("产品信息管理").display();
}
if (ionCommand() == "订单信息管理") {
new OrderManager("订单信息管理").display();
}
if (ionCommand() == "退出管理系统") {
(0);
}
package zhm;
import .*;
import .*;
public class businessManFrame extends JFrame implements ActionListener {// 业务员界面
private static final long serialVersionUID = 1L;
JPanel p1 = new JPanel();
JPanel p2 = new JPanel();
JButton btnsc = new JButton("订单信息管理");
JButton btng = new JButton("发货管理");
JButton btnu = new JButton("签收管理");
JButton btnClose = new JButton("退出管理系统");
JLabel l = new JLabel("业务员");
@SuppressWarnings("deprecation")
businessManFrame() {// 构造方法
super("销售管理系统");
setSize(205, 300);
add("North", p1);
add("Center", p2);
(l);
(btnsc);
(btng);
(btnu);
(btnClose);
ionListener(this);
ionListener(this);
ionListener(this);
ionListener(this);
izable(false);
aultCloseOperation(_ON_CLOSE);
show();
}
public void actionPerformed(ActionEvent e) {
if (ionCommand() == "订单信息管理") {
new OrderManager("订单信息管理").display();
}
if (ionCommand() == "发货管理") {
}
}
new sendManager("发货管理").display();
}
if (ionCommand() == "签收管理") {
new ReceiveManager("签收管理").display();
}
if (ionCommand() == "退出管理系统") {
(0);
}
package zhm;
import .*;
import .*;
import .*;
import .*;
public class CustomerAdd 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("银行账号:");
JLabel l7 = new JLabel("发票抬头:");
JLabel l8 = new JLabel("所在区域:");
JTextField t1 = new JTextField(10);
JTextField t2 = new JTextField(10);
JTextField t3 = new JTextField(10);
JTextField t4 = new JTextField(10);
JTextField 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();
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
boolean isNewsm = true;// 用于判断是否显示客户信息管理的界面
@SuppressWarnings("deprecation")
public CustomerAdd() {// 构造方法
le("增加");
nds(300, 300, 225, 350);
out(new FlowLayout());
(l1);
(t1);
(l2);
(t2);
(l3);
(t3);
(l4);
(t4);
(l5);
(t5);
(l6);
(t6);
(l7);
(t7);
(l8);
(t8);
(btnOK);
(btnCancel);
(p);
izable(false);
aultCloseOperation(_ON_CLOSE);
ionListener(this);
ionListener(this);
();
}
public void connDB() { // 连接数据库
try {
e("verDriver");
} catch (ClassNotFoundException e) {
tackTrace();
}
try {
con = nection(
"jdbc:sqlserver://localhost:1433; DatabaseName=销售管理系统",
"sa", "2191826");
stmt = Statement();
} catch (SQLException e) {
tackTrace();
}
}
public void closeDB() // 关闭连接
{
try {
();
();
} catch (SQLException e) {
tackTrace();
}
}
public void insertst() { // 插入记录
String x = null;
String y = null;
String z = null;
String a = null;
String b = null;
String c = null;
String d = null;
String e = null;
x = t();
y = t();
z = t();
a = t();
b = t();
c = t();
d = t();
e = t();
if (le() == "修改") {// 如果是修改记录,先删除再增加
try {
();
@SuppressWarnings("unused")
int rs1 = eUpdate("delete from 客户信息 where 客户名称='"
+ x + "'");
} catch (SQLException e1) {
tackTrace();
}
}
String str = "insert into 客户信息 values('" + x + "','" + y + "','"
+ z + "','" + a + "','" + b + "','" + c + "','" + d + "','" + e + "')";
();// 连接数据库
try {
eUpdate(str);
ssageDialog(null, le() + "成功!",
"提示", ATION_MESSAGE, new ImageIcon(
""));
ible(false);
}
catch (SQLException e1) {
ssageDialog(null, "客户名称已存在!");
t("");
}
}
public void actionPerformed(ActionEvent e) {
if (ionCommand() == "确定") {
st();
if (isNewsm) {
new CustomerManager("客户信息管理").display();
}
isNewsm = true;
}
if (ionCommand() == "取消") {
ible(false);
new CustomerManager("客户信息管理").display();
}
}
}
package zhm;
import .*;
import .*;
import .*;
import .*;
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("修改");
JButton btnSearch = new JButton("查询");
JButton btnDisplay = 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 bstd = false;
CustomerManager(String title) {// 构造方法
super(title);
add("South", p);
("Center", p1);
(btnAdd);
(btnDelete);
(btnAlter);
(btnSearch);
(btnDisplay);
(); // 连接数据库
//y();
nds(300, 300, 600, 450);
ionListener(this);
ionListener(this);
ionListener(this);
ionListener(this);
ionListener(this);
nuBar(mb);
// aultCloseOperation(_ON_CLOSE);
izable(false);
show();
}
CustomerManager(CustomerSelect sst,String title) {// 构造方法
super(title);
= sst;
bstd = true;
add("South", p);
("Center", p1);
(btnAdd);
(btnDelete);
(btnAlter);
(btnSearch);
(btnDisplay);
();
nds(300, 300, 600, 450);
ionListener(this);
ionListener(this);
ionListener(this);
ionListener(this);
ionListener(this);
nuBar(mb);
izable(false);
show();
}
public void display() {// 显示所有客户的基本信息
int i = 0;
int j = 0;
List
try {
rs = eQuery("select * from 客户信息");
while (()) { // 找出表中的记录数赋给i
(ing("客户名称"));
(ing("单位地址"));
(ing("联系电话"));
(ing("地址"));
(ing("开户银行"));
(ing("银行账号"));
(ing("发票抬头"));
(ing("所在区域"));
i++;
}
} catch (SQLException e) {
tackTrace();
}
playerInfo = new Object[i][8];
String[] columnNames = { "客户名称", "单位地址", "联系电话", "地址", "开户银行", "银行账号", "发票抬头", "所在区域",};
try {
rs = eQuery("select * from 客户信息 order by 客户名称");
while (()) {
playerInfo[j][0] = ing("客户名称");
playerInfo[j][1] = ing("单位地址");
playerInfo[j][2] = ing("联系电话");
playerInfo[j][3] = ing("地址");
playerInfo[j][4] = ing("开户银行");
playerInfo[j][5] = ing("银行账号");
playerInfo[j][6] = ing("发票抬头");
playerInfo[j][7] = ing("所在区域");
j++;
}
} catch (SQLException e) {
tackTrace();
}
sTable = new JTable(playerInfo, columnNames);// 创建网格
(sTable);
scroll = new JScrollPane(sTable);
(scroll);
}
public void connDB() { // 连接数据库
try {
e("verDriver");
} catch (ClassNotFoundException e) {
tackTrace();
}
try {
con = nection(
"jdbc:sqlserver://localhost:1433; DatabaseName=销售管理系统",
"sa", "2191826");
stmt = Statement();
} catch (SQLException e) {
tackTrace();
}
}
public void closeDB() // 关闭数据库连接
{
try {
();
();
} catch (SQLException e) {
tackTrace();
}
}
public void delete() {// 删除某个客户的基本信息
String xh = null;
String xm = null;
@SuppressWarnings("unused")
String xn = null;
@SuppressWarnings("unused")
String xp = null;
@SuppressWarnings("unused")
String xr = null;
String xs = null;
String xb = null;
@SuppressWarnings("unused")
String yx = null;
int row = -1;
row = ectedRow();
if (row == -1) {// 判断要删除的信息是否被选中
ssageDialog(null, "请选择要删除的记录!");
} else {
if (!bstd) {// 判断选择的是不是查询后的结果
int j1 = 0;
try {
rs = eQuery("select * from 客户信息");
while (() && j1 <= row) {// 找出当前被选中的记录在数据库中的对应
xh = ing("客户名称");
xm = ing("单位地址");
xn = ing("联系电话");
xp = ing("地址");
xr = ing("开户银行");
xs = ing("银行账号");
xb = ing("发票抬头");
yx = ing("所在区域");
j1++;
}
} catch (SQLException e) {
tackTrace();
}
int i1 = 0;
try {
@SuppressWarnings("unused")
int rs1 = eUpdate("delete from 客户信息 where 客户名称='"
+ xh + "'"); // 删除数据库中当前被选中的记录
ssageDialog(null, "记录删除成功!");
e();
new CustomerManager("客户信息管理").display();
} catch (SQLException e) {
tackTrace();
}
} else {
try {
@SuppressWarnings("unused")
int rs1 = eUpdate("delete from 客户信息 where 客户名称='"
+ xh + "'");
ssageDialog(null, "记录删除成功!");
e();
new CustomerManager("客户信息管理").display();
} catch (SQLException e) {
tackTrace();
}
}
}
}
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 = ectedRow();
if (row == -1) {
ssageDialog(null, "请选择要修改的记录!");
} else {
int j1 = 0;
try {
if (!bstd) {// 判断选择的是不是查询后的结果
rs = eQuery("select * from 客户信息");
} else {
rs = eQuery("select * from 客户信息 where 客户名称='" + xh
+ "'");
}
while (() && j1 <= row) {// 找出当前被选中的记录在数据库中的对应
xh = ing("客户名称");
xm = ing("单位地址");
xn = ing("联系电话");
xp = ing("地址");
xr = ing("开户银行");
xs = ing("银行账号");
xb = ing("发票抬头");
yx = ing("所在区域");
j1++;
}
} catch (SQLException e) {
tackTrace();
}
CustomerAdd cadd = new CustomerAdd();
le("修改");
t(xh);
t(xm);
t(xn);
t(xp);
t(xr);
t(xs);
t(xb);
t(yx);
bled(false);
e();
}
public void select() {// 显示某个查询的结果
String mx;
mx = sst.x;
playerInfo = new Object[1][8];
String[] columnNames = { "客户名称", "单位地址", "联系电话", "地址", "开户银行", "银行账号", "发票抬头", "所在区域"};
try {
rs = eQuery("select * from 客户信息 where 所在区域='" + mx + "'");
while (()) {
playerInfo[0][0] = ing("客户名称");
playerInfo[0][1] = ing("单位地址");
playerInfo[0][2] = ing("联系电话");
playerInfo[0][3] = ing("地址");
playerInfo[0][4] = ing("开户银行");
playerInfo[0][5] = ing("银行账号");
playerInfo[0][6] = ing("发票抬头");
playerInfo[0][7] = ing("所在区域");
}
} catch (SQLException e) {
tackTrace();
}
if (playerInfo[0][7] == null) {
e();
ssageDialog(null, "客户所在区域不存在!");
new CustomerManager("客户信息管理").display();
} else {
sTable = new JTable(playerInfo, columnNames);// 创建网格
(sTable);
scroll = new JScrollPane(sTable);
(scroll);
}
} public void actionPerformed(ActionEvent e) {
if (ionCommand() == "增加") {
new CustomerAdd();
e();
}
if (ionCommand() == "删除") {
();
}
if (ionCommand() == "修改") {
();
}
if (ionCommand() == "查询") {
sst = new CustomerSelect();
e();
}
if (ionCommand() == "显示") {
e();
new CustomerManager("客户信息管理").display();
}
}
}
package zhm;
import .*;
import .*;
public class CustomerSelect extends JFrame implements ActionListener {// 用于客户信息管理中查询时输入所在区域的界面
private static final long serialVersionUID = 1L;
JLabel ltitle = new JLabel("所在区域:");
JTextField t1 = new JTextField(8);
JButton btnOK = new JButton("确定");
JPanel p = new JPanel();
String x = null;
@SuppressWarnings("deprecation")
public CustomerSelect() { // 构造方法
(ltitle);
(t1);
(btnOK);
add(p);
nds(450, 420, 300, 240);
ionListener(this);
izable(false);
();
}
public void actionPerformed(ActionEvent e) {
x = t();// 取得当前输入所在区域的值
if (("")) {// 判断是否输入了所在区域
ssageDialog(null, "所在区域不能为空,请重新输入!");
} else {
e();
new CustomerManager(this,"客户信息管理").select();
}
}
}
package zhm;
import .*;
import .*;
import .*;
import .*;
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("型号: ");
JLabel 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);
JTextField t4 = new JTextField(10);
JTextField t5 = new JTextField(10);
JTextField t6 = new JTextField(10);
JButton btnOK = new JButton("确定");
JButton btnCancel = new JButton("取消");
JPanel p = new JPanel();
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
boolean isNewsm = true;// 用于判断是否显示产品信息管理的界面
public ProductAdd() {// 构造方法
le("增加");
nds(300, 300, 220, 350);
out(new FlowLayout());
(l1);
(t1);
(l2);
(t2);
(l3);
(t3);
(l4);
(t4);
(l5);
(t5);
(l6);
(t6);
(btnOK);
(btnCancel);
(p);
izable(false);
aultCloseOperation(_ON_CLOSE);
ionListener(this);
ionListener(this);
();
}
public void connDB() { // 连接数据库
try {
e("verDriver");
} catch (ClassNotFoundException e) {
tackTrace();
}
try {
con = nection(
"jdbc:sqlserver://localhost:1433; DatabaseName=销售管理系统",
"sa", "2191826");
stmt = Statement();
} catch (SQLException e) {
tackTrace();
}
}
public void closeDB() // 关闭连接
{
try {
();
();
} catch (SQLException e) {
tackTrace();
}
}
public void insertst() { // 插入记录
String x = null;
String y = null;
String z=null;
String a = null;
String b = null;
String c=null;
x = t();
y = t();
z = t();
a = t();
b = t();
c = t();
if (le() == "修改") {// 如果是修改记录,先删除再增加
try {
();
@SuppressWarnings("unused")
int rs1 = eUpdate("delete from 产品信息 where 产品名称='"
+ x + "'");
} catch (SQLException e) {
tackTrace();
}
}
String str = "insert into 产品信息 values('" + x + "','" + y + "','"
+ z + "','" + a + "','" + b + "','" + c + "')";
();// 连接数据库
}
try {
eUpdate(str);
}
ssageDialog(null, le() + "成功!",
"提示", ATION_MESSAGE, new ImageIcon(
""));
ible(false);
catch (SQLException e) {
ssageDialog(null, "产品名称已存在!");
t("");
}
}
public void actionPerformed(ActionEvent e) {
if (ionCommand() == "确定") {
st();
if (isNewsm) {
new ProductManager("产品信息管理").display();
}
isNewsm = true;
}
if (ionCommand() == "取消") {
ible(false);
new ProductManager("产品信息管理").display();
}
}
package zhm;
import .*;
import .*;
import .*;
import .*;
public class ProductManager 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("修改");
JButton btnSearch = new JButton("查询");
JButton btnDisplay = 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;
ProductSelect pst;
String mkch = null;
boolean bstd = false;
ProductManager(String title) {// 构造方法
super(title);
add("South", p);
("Center", p1);
(btnAdd);
(btnDelete);
(btnAlter);
(btnSearch);
(btnDisplay);
();// 连接数据库
nds(300, 300, 600, 390);
ionListener(this);
ionListener(this);
ionListener(this);
ionListener(this);
ionListener(this);
nuBar(mb);
izable(false);
show();
}
ProductManager(ProductSelect pst, String title) {// 构造方法
super(title);
= pst;
bstd = true;
add("South", p);
("Center", p1);
(btnAdd);
(btnDelete);
(btnAlter);
(btnSearch);
(btnDisplay);
();
nds(300, 300, 600, 390);
ionListener(this);
ionListener(this);
ionListener(this);
ionListener(this);
ionListener(this);
nuBar(mb);
izable(false);
show();
}
public void display() {// 显示所有的产品信息
int i = 0;
int j = 0;
List
try {
rs = eQuery("select * from 产品信息");
while (()) {// 找出表中的记录数赋给i
(ing("产品名称"));
(ing("规格"));
(ing("型号"));
(ing("操作系统"));
(ing("产品分类"));
(ing("产品描述"));
i++;
}
} catch (SQLException e) {
tackTrace();
}
playerInfo = new Object[i][6];
String[] columnNames = { "产品名称", "规格", "型号","操作系统", "产品类型", "产品描述" };
try {
rs = eQuery("select * from 产品信息 order by 产品名称");
while (()) {
playerInfo[j][0] = ing("产品名称");
playerInfo[j][1] = ing("规格");
playerInfo[j][2] = ing("型号");
playerInfo[j][3] = ing("操作系统");
playerInfo[j][4] = ing("产品分类");
playerInfo[j][5] = ing("产品描述");
j++;
}
} catch (SQLException e) {
tackTrace();
}
sTable = new JTable(playerInfo, columnNames);// 创建网格
(sTable);
scroll = new JScrollPane(sTable);
(scroll);
}
public void connDB() { // 连接数据库
try {
e("verDriver");
} catch (ClassNotFoundException e) {
tackTrace();
}
try {
con = nection(
"jdbc:sqlserver://localhost:1433; DatabaseName=销售管理系统",
"sa", "2191826");
stmt = Statement();
} catch (SQLException e) {
tackTrace();
}
}
public void closeDB() // 关闭连接
{
try {
();
();
} catch (SQLException e) {
tackTrace();
}
}
public void delete() {// 删除某个产品信息
String x = null;
String y = null;
String z = null;
String a = null;
String b = null;
String c = null;
int row = -1;
row = ectedRow();
if (row == -1) {// 判断要删除的信息是否被选中
ssageDialog(null, "请选择要删除的记录!");
} else {
if (!bstd) {// 判断选择的是不是查询后的结果
int j1 = 0;
try {
rs = eQuery("select * from 产品信息");
while (() && j1 <= row) {// 找出当前被选中的记录在数据库中的对应
x = ing("产品名称");
y = ing("规格");
z = ing("型号");
a = ing("操作系统");
b = ing("产品分类");
c = ing("产品描述");
j1++;
}
} catch (SQLException e) {
tackTrace();
}
int i1 = 0;
try {
int rs1 = eUpdate("delete from 产品信息 where 产品名称='"
+ x + "'");// 删除数据库中当前被选中的记录
ssageDialog(null, "记录删除成功!");
e();
new ProductManager("产品信息管理").display();
} catch (SQLException e) {
tackTrace();
}
} else {
try {
int rs1 = eUpdate("delete from 产品信息 where 型号='"
+ z + "'");// 删除数据库中当前被选中的记录
ssageDialog(null, "记录删除成功!");
e();
new ProductManager("课程信息管理").display();
} catch (SQLException e) {
tackTrace();
}
}
}
}
public void update() {// 修改某个产品记录
String x = null;
String y = null;
String z = null;
String a = null;
String b = null;
String c = null;
int row = -1;
row = ectedRow();
if (row == -1) {
ssageDialog(null, "请选择要修改的记录!");
} else {
int j1 = 0;
try {
if (!bstd) {// 判断选择的是不是查询后的结果
rs = eQuery("select * from 产品信息");
} else {
rs = eQuery("select * from 产品信息 where 产品名称='" + x
+ "'");
}
while (() && j1 <= row) {// 找出当前被选中的记录在数据库中的对应
x = ing("产品名称");
y = ing("规格");
z = ing("型号");
a = ing("操作系统");
b = ing("产品分类");
c = ing("产品描述");
j1++;
}
} catch (SQLException e) {
tackTrace();
}
ProductAdd padd = new ProductAdd();
le("修改");
t(x);
t(y);
t(z);
t(a);
t(b);
t(c);
bled(false);
e();
}
}
public void select() {// 显示某个查询的结果
String mx;
mx = pst.x;
playerInfo = new Object[1][6];
String[] columnNames = { "产品名称", "规格", "型号","操作系统", "产品类型", "产品描述" };
try {
rs = eQuery("select * from 产品信息 where 产品名称='" + mx + "'");
while (()) {
playerInfo[0][0] = ing("产品名称");
playerInfo[0][1] = ing("规格");
playerInfo[0][2] = ing("型号");
playerInfo[0][3] = ing("操作系统");
playerInfo[0][4] = ing("产品分类");
playerInfo[0][5] = ing("产品描述");
}
} catch (SQLException e) {
tackTrace();
}
if (playerInfo[0][0] == null) {
e();
ssageDialog(null, "产品名称不存在!");
new ProductManager("产品信息管理").display();
} else {
sTable = new JTable(playerInfo, columnNames);// 创建网格
(sTable);
scroll = new JScrollPane(sTable);
(scroll);
}
}
public void actionPerformed(ActionEvent e) {
if (ionCommand() == "增加") {
new ProductAdd();
e();
}
if (ionCommand() == "删除") {
();
}
if (ionCommand() == "修改") {
();
}
if (ionCommand() == "查询") {
pst = new ProductSelect();
e();
}
if (ionCommand() == "显示") {
e();
new ProductManager("产品信息管理").display();
}
}
}
package zhm;
import .*;
import .*;
public class ProductSelect extends JFrame implements ActionListener {// 用于产品信息管理中查询时输入产品名称的界面
private static final long serialVersionUID = 1L;
JLabel ltitle = new JLabel("产品名称:");
JTextField t1 = new JTextField(8);
JButton btnOK = new JButton("确定");
JPanel p = new JPanel();
String x = null;
public ProductSelect() { // 构造方法
(ltitle);
(t1);
(btnOK);
add(p);
nds(450, 420, 300, 240);
ionListener(this);
izable(false);
();
}
public void actionPerformed(ActionEvent e) {
x = t();// 取得当前输入产品名称的值
if (("")) {// 判断是否输入了课程号
ssageDialog(null, "产品名称不能为空,请重新输入!");
} else {
e();
new ProductManager(this,"产品信息管理").select();
}
}
}
package zhm;
import .*;
import .*;
import .*;
import .*;
public class OrderAdd 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("产品名称: ");
JLabel l7=new JLabel("型号: ");
JLabel l8=new JLabel("数量: ");
JLabel l9=new JLabel("产品要求: ");
JTextField t1 = new JTextField(10);
JTextField t2 = new JTextField(10);
JTextField t3 = new JTextField(10);
JTextField t4 = new JTextField(10);
JTextField t5 = new JTextField(10);
JTextField t6 = new JTextField(10);
JTextField t7 = new JTextField(10);
JTextField t8 = new JTextField(10);
JTextField t9 = new JTextField(10);
JButton btnOK = new JButton("确定");
JButton btnCancel = new JButton("取消");
JPanel p = new JPanel();
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
boolean isNewsm = true;// 用于判断是否显示订单信息管理的界面
public OrderAdd() {// 构造方法
le("增加");
nds(250, 250, 220, 600);
out(new FlowLayout());
(l1);
(t1);
(l2);
(t2);
(l3);
(t3);
(l4);
(t4);
(l5);
(t5);
(l6);
(t6);
(l7);
(t7);
(l8);
(t8);
(l9);
(t9);
(btnOK);
(btnCancel);
(p);
izable(false);
aultCloseOperation(_ON_CLOSE);
ionListener(this);
ionListener(this);
();
}
public void connDB() { // 连接数据库
try {
e("verDriver");
} catch (ClassNotFoundException e) {
tackTrace();
}
try {
con = nection(
"jdbc:sqlserver://localhost:1433; DatabaseName=销售管理系统",
"sa", "2191826");
stmt = Statement();
} catch (SQLException e) {
tackTrace();
}
}
public void closeDB() // 关闭连接
{
try {
();
();
} catch (SQLException e) {
tackTrace();
}
}
public void insertst() { // 插入记录
String x = null;
String y = null;
String z = null;
String a = null;
String b = null;
String c = null;
String d = null;
String e = null;
String f = null;
x = t();
y = t();
z = t();
a = t();
b = t();
c = t();
d = t();
e = t();
f = t();
if (le() == "修改") {// 如果是修改记录,先删除再增加
try {
();
int rs1 = eUpdate("delete from 订单信息 where 客户名称='"
+ x + "'");
} catch (SQLException e1) {
tackTrace();
}
}
String str = "insert into 订单信息 values('" + x + "','" + y + "','"
+ z + "','" + a + "','" + b + "','" + c + "','" + d + "','" + e + "','" + f + "')";
();// 连接数据库
try {
eUpdate(str);
}
ssageDialog(null, le() + "成功!",
"提示", ATION_MESSAGE, new ImageIcon(
""));
ible(false);
}
catch (SQLException e1) {
ssageDialog(null, "客户名称已存在!");
t("");
}
}
public void actionPerformed(ActionEvent e) {
if (ionCommand() == "确定") {
st();
if (isNewsm) {
new OrderManager("订单信息管理").display();
}
isNewsm = true;
}
if (ionCommand() == "取消") {
ible(false);
new OrderManager("订单信息管理").display();
}
}
package zhm;
import .*;
import .*;
import .*;
import .*;
public class OrderManager 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("修改");
JButton btnSearch = new JButton("查询");
JButton btnDisplay = 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;
OrderSelect ost;
String x = null;
String y = null;
版权声明:本文标题:java数据库销售管理系统实验报告完整版(附代码) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1705126673a473838.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论