超市进销系统实验报告(00001)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库系统课程设计报告题目:超市进销存销售经管系统
课程代号:
课程名称:数据库系统课程设计
学号:
姓名:
班级:
指导教师:
完成日期:
第一章引言
1.1 设计开发的意义
随着超市行业竞争日益激烈,提高进销存经管的工作效率,改善超市内部以及整个供应链各个环节的经管、调度及资源配置成为了超市当前必须考虑的问题。
而解决这些问题的途径之一,就是将计算机引入到经管机制中来。
随着技术的发展,超市会有很多连锁店,使用此超市经管系统,可以进行连网经管。
1.2 设计应用系统的任务及目标
登录界面有普通员工和经管员,普通员工需要输入用户名和密码,经管员只需输入用户名即可进入。
超市经管系统主界面有一个“欢迎光临”的滚动条。
员工信息表和供应商信息表的查找按钮,鼠标只要一接触,便可自动查询,而不需要点击鼠标。
(利用查找按钮事件的MouseEnter实现的)关闭超市经管系统主界面时,需要弹出一个对话框,是否需要关闭此系统。
(通过登录界面验证用户的提示下,考虑到关闭此系统时是否确定需要关闭)
1.3 设计开发及运行的软硬件环境
系统开发平台: Microsoft Visual Studio C#3.5
系统开发语言: Visual C#.NET
数据库经管软件:Microsoft SQL Server 2005
运行平台: Windows窗体应用程序
运行环境:Microsoft Visual Studio 2008
第二章系统分析与设计
2.1 系统需求分析
用户对进销存系统的需求具有普遍性。
此超市经管系统适用于超市的采购、销售和仓库部门,对超市采购、销售及仓库的业务全过程进行有效控制和跟踪。
使用此超市经管系统可有效减少盲目采购、降低采购成本、合理控制库存、减少资金占用并提高市场灵敏度,提升超市的市场竞争力。
此系统采用人机交互的方式,界面美观友好。
信息查询灵活、操作方便,数据存储安全可靠。
能够对进货信息进行有效的经管。
对用户输入的数据,进行严格的数据校验,尽可能避免人为错误。
能够对商品销售信息进行有效的经管。
允许顾客退货。
能够准确、详细地经管商品库存信息。
当库存的商品数量达到一定程序,给出提示。
可以对数据库进行备份和还原。
系统应最大限度地实现易维护性和易操作性。
图2.1
Fig. 2.1
2.1.2 数据字典
此系统的登录界面有验证用户的信息,只要登录成功,才可进入超市经管系统的主窗体。
主窗体可以连接到系统的所有功能菜单,包括基本档案,进货经管,销售经管,库存经管,系统维护。
基本档案包括员工信息和供应商信息。
员工信息表是因为开发过程中要考虑
系统的安全性,不是任何人都可以操作系统的,才设置存储经管系统的员工信息表。
供应商信息表是因为超市的经营离不开与供应商的合作,而每件商品对应不同的供应商,此时必须在数据库中建立一个供应商信息表,用于存储所有供应商信息。
进货经管包括商品进货信息和进货信息查询,建立一个进货信息表是因为超市的运营离不开货物往来,日常货物的购买是非常重要的,此用于存储进货的详细信息。
销售经管分为商品销售信息和商品退货信息,商品销售信息表为了时刻了解超市销售利润,需要对商品的销售情况有所了解;商品退货信息表是因为当顾客对某件商品不满意时,可以要求进货,同时超市经营者也要详细地了解退货信息。
库存经管分为库存警报和库存查询。
因为超市定期要对货物进行补充,在进货之前要了解剩余货物的数量,此时需要在数据库中建立一个库存信息表用于存储剩余货物的情况。
系统维护包括数据备份和数据还原,以防数据丢失,所以需要备份数据和还原数据。
2.2 数据库概念结构设计
1.员工信息实体E—R图
图 2.2
Fig.2.2
2.进货信息实体E—R图
图2.3
Fig. 2.3
3.供应商信息实体E—R图
图 2.3
Fig. 2.3
4.库存信息实体E—R图
图2.4
Fig. 2.4
2.3 数据库逻辑,物理结构设计
2.3.1 关系模式
Emp(EmpID,EmpName,EmpLoginName,EmpLoginPwd,EmpSex,EmpBirthday,EmpDept,EmpPost,EmpPhone,EmpPhoneM,EmpAddress,EmpFlag)其中EmpID为主码;
Company(CompanyID,CompanyName,CompanyDirector,ompanyPhoCne,CompanyFax,CompanyAddress,CompanyRemark,ReDateTime,Flag)其中CompanyID为主码;
2.3.2 关系的属性设计
表2.1 员工信息表
表2.2供应商信息表Table 2.2 Companyfrom
表2.3进货信息表
表2.4 商品销售信息表
表2.5 商品退货信息表
表2.6 库存信息表
Table 2.6 Kcfrom
2.4 数据库的创建
2.5 系统总体结构设计
图2.5
Fig. 2.5
第三章系统开发及实现
3.1 界面设计效果
1.登录界面
2.员工信息
3.供应商信息
4.商品进货信息
5.进货信息查询
6.商品销售信息
7.商品退货信息
8.库存警报
9.库存查询
10.数据备份
11.数据还原
3.2 实现方法
以员工信息表为例:
1>.使用的控件:ToolStrip,Label,TextBox , DateTimePicke ,ComboBox,DataGridView.
2>.保存,取消,添加,修改,删除按钮的互斥更改。
3>.用于初始化组件,将控件恢复到原始状态。
4>.点击保存,取消,添加,修改,删除按钮时,可以实现数据的添加,修改和删除操作。
5>.根据查询条件,并输入关键字,便可查询你想要查询的内容。
6>.点击退出按钮,即可退出此窗体。
7>. Label为控件提供运行时信息或说明性文字。
8>. TextBox允许用户输入文本,并提供多行编辑和密码字符掩码功能。
9>.DateTimePicker控件,允许用户选择日期和时间,并以指定的格式显示。
10>.ToolStrip控件为此表提供工具栏。
11>.ComboBox显示一个可编辑的文本框,其中包括一个允许值下拉列表,需要指出的是当性别只有男女时,我们需要设它的DropDownStyle属性为DropDown,这样,才不允许用户更改性别信息。
12>. DataGridView是为了显示表的数据。
13>.在员工信息表的方法里,做三个查询,一是用于登陆验证的查询,二是用于窗体载入的查询,三是用于DataGridView单元格触发时索引的数据中记录返回。
14>.有添加,修改和删除的方法,来实现数据库的更新。
15>.有一个自动生成客户编号的方法,而无需自己添加编号
以商品进货信息表为例:
1>.同员工信息表一样,可以实现增删改查的功能,但其中多了一个控件TreeView。
2>.TreeView控件,填充商品类别信息。
3>.在添加商品进货单价和数量时,会自动算出商品应付的金额。
以数据备份为例:
1>.添加一个folderBrowserDialog控件,显示一个对话框,提示用户选择文件夹。
以数据还原为例:
1>.添加一个OpenFileDialog控件,显示一个对话框,提示用户打开文件。
第四章归纳总结
三个星期的时间非常快就过去了,这三个星期我不敢说有很大的进步,蛋黄还是了解了一些工程开发的过程。
以前没有亲身经历过相关的设计课程,这次提供了一个很好的机会。
这次的课程设计可以说是为毕业设计做的一个预演,真的做起来困难重重,深刻体会到做一个软件,里面需要的很多知识我们没有接触过,去图书馆找书的时候发现,我们学的仅仅是皮毛,还有很多东西需要我们去发掘,就算是借一本书看完它,我们还是会发现还有很多知识没有吃透,这需要我们不断的实践,不断地自学习,不断地发现问题去思考问题。
从需求分析阶段,想充分了解自己所做的课题在客户或者超市中的需求,由于《软件工程》这门课大二时学的不深,画数据流图等等软件设计流程做起来很生疏,翻阅课本,和软件工程课老师上课的讲解,总算整了一个像样点的需求分析,但是也不知道是不是正确,根据数据流图,不断修改需求,由于这个课程设计没有连接外部设备,比如打印机,等,所以做的都是在实践阶段,根据设计的大概模式展开一步步的模块构造。
经过不断地测试,不断地改进,其中还是发下了不少问题,第一次做这些工作,没有任何经验,甚至无从下手,还是很谢谢老师和同学的帮忙,从中也学到了一些代码的写法。
我们学习并应用了SQL语言,对数据库的创建,删除,修改有了一定的了解。
通过导入表和删除表,更改表学会了一些对表的操作。
这次数据库课程设计给我的最大的印象就是如果自己有了兴趣,就动手去做,困难在你的勇气和毅力下是抬不了头的。
从做这个数据库开始无论遇到什么困难,我都没有一丝的放弃的念头。
出于对知识的渴望,出于对新技术的好奇,出于对一切未知的求知。
我完成了这次数据库课程设计,不过这只是我学习路上的驿站,未来十年.NET的核心技术就是XML 我会继续学习它,包括jave公司的j2ee我也很想试试,语言本来就是相通的,justdoit!语言并不重要毕竟它仅仅是工具,用好一个工具并不是一件值得为外人道的事情,主要是了解学习思想。
古语说的好:学无止境啊!
参考文献
1.钱雪忠数据库原理及应用北京:邮电大学出版社 2007,8 第二版2.Bain TSQL server 2000数据仓库与Analysis Services 中国电力出版社2003
3.王珊数据库技术与联机分析处理北京:科学出版社 1998
4. 肖遥JSP的SQLServer数据库访问技术2009
5. 史志国基于JSP的教务经管系统设计 2008
第五章附录
(1)、员工信息表窗体frmEmpInfo的代码:using System。
using System.Collections.Generic。
using ponentModel。
using System.Data。
using System.Drawing。
using System.Linq。
using System.Text。
using System.Windows.Forms。
using System.Data.SqlClient。
using Shop.GoodMenthod。
using Shop.ClassInfo。
namespace Shop
{
publicpartialclass frmEmpInfo : Form
{
public frmEmpInfo()
{
InitializeComponent()。
}
tb_EmpInfo EmpClass = new tb_EmpInfo()。
tb_EmpInfoMenthod tbMenthod = new tb_EmpInfoMenthod()。
//窗体载入时,将全部记录载入到控件中
privatevoid frmEmpInfo_Load(object sender, EventArgs e)
{
tbMenthod.tb_EmpInfoFind("", 5, dataGridView1)。
this.cbxCondition.Text = "员工姓名"。
//窗体载入时默认的查询条件索引
}
///<summary>
///点击查询按钮
///</summary>
privatevoid txtOK_Click(object sender, EventArgs e)
{
string P_Str_selectcondition = this.cbxCondition.Text。
//查询类别索引
if (P_Str_selectcondition == null)
{
MessageBox.Show("请选择查询条件!")。
return。
}
if (this.txtKeyWord.Text == "")
{
MessageBox.Show("输入查询关键字!")。
return。
}
switch (P_Str_selectcondition)
{
case"员工姓名": //员工姓名字段在dataGridView1索引值为1
tbMenthod.tb_EmpInfoFind(txtKeyWord.Text, 1, dataGridView1)。
break。
case"员工性别"://员工性别字段在dataGridView1引值为2
tbMenthod.tb_EmpInfoFind(txtKeyWord.Text, 2, dataGridView1)。
break。
case"所属部门":// 所属部门字段在dataGridView1引值为3
tbMenthod.tb_EmpInfoFind(txtKeyWord.Text, 3, dataGridView1)。
break。
case"员工职位":// 员工职位字段在dataGridView1引值为4
tbMenthod.tb_EmpInfoFind(txtKeyWord.Text, 4, dataGridView1)。
break。
default:
break。
}
}
publicstaticint intFlag = 0。
//控件方法状态
///<summary>
///用于按钮的互斥更改
///</summary>
privatevoid ControlStatus()
{
this.toolSave.Enabled = !this.toolSave.Enabled。
this.toolAdd.Enabled = !this.toolAdd.Enabled。
this.toolCancel.Enabled = !this.toolCancel.Enabled。
this.toolAmend.Enabled = !this.toolAmend.Enabled。
this.toolDelete.Enabled = !this.toolDelete.Enabled。
}
///<summary>
///用于初始化组件,将控件恢复到原始状态
///</summary>
privatevoid ClearControls()
{
txtEmpAddress.Text = null。
txtEmpPhone.Text = null。
txtEmpName.Text = null。
txtEmpLoginPwd.Text = null。
txtEmpPhoneM.Text = null。
txtEmpLoginName.Text = null。
cmbEmpPost.SelectedIndex = 0。
cmbEmpDept.SelectedIndex = 0。
comSex.SelectedIndex = 0。
this.daEmpBirthday.Value = DateTime.Now。
}
///<summary>
///点击添加按钮
///</summary>
privatevoid toolAdd_Click(object sender, EventArgs e)
{
ControlStatus()。
//点击添加按钮后控件状态相反
ClearControls()。
//清空控件内容
intFlag = 1。
//添加标记为1
}
///<summary>
///点击保存按钮
///</summary>
privatevoid toolSave_Click(object sender, EventArgs e)
{
if (getPan() == 1)
{
if (intFlag == 1)
{
if (tbMenthod.tb_EmpInfoFind(txtEmpLoginName.Text,"", 1)==1 ) {
MessageBox.Show("登录名称已被占用!!")。
txtEmpLoginName.Text = ""。
txtEmpLoginName.Focus()。
return。
}
if (tbMenthod.tb_EmpInfoFind(txtEmpName.Text, "", 1) == 1)
{
MessageBox.Show("员工姓名已被占用!!")。
txtEmpName.Text = ""。
txtEmpName.Focus()。
return。
}
if (tbMenthod.tb_EmpInfoAdd(EmpClass) == 1)
{
MessageBox.Show("添加成功")。
intFlag = 0。
tbMenthod.tb_EmpInfoFind("", 5, dataGridView1)。
ClearControls()。
ControlStatus()。
}
else
{
MessageBox.Show("添加失败")。
intFlag = 0。
//tbMenthod.tb_EmpInfoFind("2",dataGridView1)。
ClearControls()。
ControlStatus()。
}
}
if (intFlag == 2)
{
if (tbMenthod.tb_EmpInfoUpdate(EmpClass) == 1)
{
MessageBox.Show("修改成功")。
intFlag = 0。
tbMenthod.tb_EmpInfoFind("", 5, dataGridView1)。
ClearControls()。
ControlStatus()。
}
else
{
MessageBox.Show("修改失败")。
intFlag = 0。
//tbMenthod.tb_EmpInfoFind("2",dataGridView1)。
ClearControls()。
ControlStatus()。
}
}
if (intFlag == 3)
{
if (tbMenthod.tb_EmpInfoDelete(EmpClass) == 1)
{
MessageBox.Show("删除成功")。
intFlag = 0。
tbMenthod.tb_EmpInfoFind("", 5, dataGridView1)。
ClearControls()。
ControlStatus()。
}
else
{
MessageBox.Show("删除失败")。
intFlag = 0。
ClearControls()。
ControlStatus()。
}
}
}//end
}
///<summary>
///用于判断
///</summary>
///<returns></returns>
publicint getPan()
{
int intFlag1 = 0。
if (intFlag != 3)//添加,修改状态
{
if (txtEmpName.Text == "")
{
MessageBox.Show("员工姓名不能为空!", "提示")。
txtEmpName.Focus()。
return intFlag1。
}
if (txtEmpLoginName.Text == "")
{
MessageBox.Show("登录名称不能为空!", "提示")。
return intFlag1。
}
if (intFlag != 2)//添加状态
{
if (txtEmpLoginPwd.Text == "")
{
MessageBox.Show("登录密码不能为空!", "提示")。
return intFlag1。
}
}
if (intFlag == 2)//修改状态
{
EmpClass.EmpId1 = this.dataGridView1[0, this.dataGridView1.CurrentCell.RowIndex].Value.ToString()。
//当时单元格的行索引
//this.dataGridView1[列索引=0,行索引]
}
else
{
EmpClass.EmpId1= tbMenthod.tb_EmpInfoID()。
}
}
else
{
if (txtEmpName.Text == "")
{
MessageBox.Show("请在下面选择要删除的记录", "提示")。
return intFlag1。
}
else
{
EmpClass.EmpId1 = this.dataGridView1[0, this.dataGridView1.CurrentCell.RowIndex].Value.ToString()。
}
}
EmpClass.EmpName1 = txtEmpName.Text。
EmpClass.EmpLoginName1 = txtEmpLoginName.Text。
EmpClass.EmpLoginPwd1 = txtEmpLoginPwd.Text。
EmpClass.EmpSex1 = comSex.Text。
EmpClass.EmpBirthday1 = daEmpBirthday.Value。
EmpClass.EmpDept1 = cmbEmpDept.Text。
EmpClass.EmpPost1 = cmbEmpPost.Text。
EmpClass.EmpPhoneM1 = txtEmpPhoneM.Text。
EmpClass.EmpPhone1 = txtEmpPhone.Text。
EmpClass.EmpAddress1 = txtEmpAddress.Text。
if (intFlag != 3)
{
EmpClass.EmpFlag1 = 0。
}
else
{
EmpClass.EmpFlag1 = 1。
}
intFlag1 = 1。
return intFlag1。
}
///<summary>
///点击取消按钮
///</summary>
privatevoid toolCancel_Click(object sender, EventArgs e)
{
ControlStatus()。
ClearControls()。
}
///<summary>
///点击退出按钮
///</summary>
privatevoid toolExit_Click(object sender, EventArgs e)
{
this.Close()。
}
privatevoid FillControls()
{
try
{
SqlDataReader sqldr = tbMenthod.tb_EmpInfoFind(this.dataGridView1[0, this.dataGridView1.CurrentCell.RowIndex].Value.ToString(), 1)。
sqldr.Read()。
if (sqldr.HasRows)
{
txtEmpLoginName.Text = sqldr[2].ToString()。
txtEmpName.Text = sqldr[1].ToString()。
comSex.Text = sqldr[4].ToString()。
daEmpBirthday.Value = Convert.ToDateTime(sqldr[5].ToString())。
cmbEmpDept.Text = sqldr[6].ToString()。
cmbEmpPost.Text = sqldr[7].ToString()。
txtEmpPhoneM.Text = sqldr[9].ToString()。
txtEmpPhone.Text = sqldr[8].ToString()。
txtEmpAddress.Text = sqldr[10].ToString()。
}
}
catch (Exception ee)
{
MessageBox.Show(ee.ToString())。
}
}
///<summary>
///点击修改按钮
///</summary>
///<param name="sender"></param>
///<param name="e"></param>
privatevoid toolAmend_Click_1(object sender, EventArgs e)
{
ControlStatus()。
intFlag = 2。
}
///<summary>
///点击删除按钮
///</summary>
privatevoid toolDelete_Click_1(object sender, EventArgs e)
{
ControlStatus()。
intFlag = 3。
}
///<summary>
///触发dataGridView
///</summary>
///<param name="sender"></param>
///<param name="e"></param>
privatevoid dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (intFlag == 2 || intFlag == 3)
{
FillControls()。
}
}
}
}
(2)、员工信息表方法tb_EmpInfoMenthod的代码:using System。
using System.Collections.Generic。
using System.Linq。
using System.Text。
using System.Windows.Forms。
using System.Data.SqlClient。
using Shop.ClassInfo。
namespace Shop.GoodMenthod
{
class tb_EmpInfoMenthod
{
SqlConnection conn = null。
SqlCommand cmd = null。
SqlDataReader qlddr = null。
#region查询tb_EmpInfo 用于DataGridView单元格触发时索引的数据中记录返回
public SqlDataReader tb_EmpInfoFind(string strObject, int intFlag)
{
//int intCount = 0。
string strSecar = null。
try
{
switch (intFlag)
{
case 1:
strSecar = "select * from tb_EmpInfo where EmpId= '" + strObject + "' and EmpFlag=0"。
break。
case 2:
strSecar = "select * from tb_EmpInfo where EmpFlag=0"。
break。
}
//strSecar = "select * from tb_EmpInfo where EmpId= '" + strObject + "' and EmpFlag=0"。
getSqlConnection getConnection = new getSqlConnection()。
conn = getConnection.GetCon()。
cmd = new SqlCommand(strSecar, conn)。
qlddr = cmd.ExecuteReader()。
return qlddr。
}
catch
{
return qlddr。
}
}
#endregion
#region查询(用于登陆验证)//添加功能验证登录名
publicint tb_EmpInfoFind(string strObject, string pwd, int intFlag)//用户名strObject传参intFlag权限1查到用户名即可;权限2用户名密码必须都对
{
int intCount = 0。
string strSecar = null。
try
{
switch (intFlag)
{
case 1:
strSecar = "select * from tb_EmpInfo where EmpLoginName='" + strObject + "' and EmpFlag=0"。
break。
case 2:
strSecar = "select * from tb_EmpInfo where EmpLoginName='" + strObject + "' and EmpFlag=0 and EmpLoginPwd='" + pwd + "'"。
break。
}
getSqlConnection getConnection = new getSqlConnection()。
conn = getConnection.GetCon()。
cmd = new SqlCommand(strSecar, conn)。
qlddr = cmd.ExecuteReader()。
qlddr.Read()。
if (qlddr.HasRows)
{
intCount = 1。
}
return intCount。
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString())。
return intCount = 2。
}
}
#endregion
#region查询(窗体载入时)
publicvoid tb_EmpInfoFind(string st, int flag, Object DataObject)
{
string strSecar = null。
try
{
switch (flag)
{
case 1:
strSecar = "select * from tb_EmpInfo where EmpName like '%" + st + "%' and EmpFlag=0"。
break。
case 2:
strSecar = "select * from tb_EmpInfo where EmpSex = '" + st + "' and EmpFlag=0"。
break。
case 3:
strSecar = "select * from tb_EmpInfo where EmpDept like '%" + st + "%'
and EmpFlag=0"。
break。
case 4:
strSecar = "select * from tb_EmpInfo where EmpPost like '%" + st + "%' and EmpFlag=0"。
break。
case 5:
strSecar = "select * from tb_EmpInfo where EmpFlag=0"。
break。
}
//strSecar = "select * from tb_EmpInfo where EmpFlag=0"。
//窗体载入时将相关记录全部载入到控件中
getSqlConnection getConnection = new getSqlConnection()。
conn = getConnection.GetCon()。
cmd = new SqlCommand(strSecar, conn)。
int ii = 0。
//统计读取的记录数量
qlddr = cmd.ExecuteReader()。
//读取符合条件的数据二维表
while (qlddr.Read())//记录前进
{
ii++。
}
qlddr.Close()。
//关闭qlddr的Reader对象,以便再执行从第一条开始读,由于未释放所以不用再连接
System.Windows.Forms.DataGridView dv = (DataGridView)DataObject。
//向自定义的表格中显示数据,
//动态的数据表格,数据表格的引用方式dv【列索引,行索引】
if (ii != 0)
{
int i = 0。
//当读取到一条以上的记录时
dv.RowCount = ii。
//自定义表格的记录长度
qlddr = cmd.ExecuteReader()。
//执行读取操作
while (qlddr.Read())//读取表格的每一条记录前进
{
//第一次循环将读取到的二维表中索引行为0的列记录写入到活动数据表格中的第0行
dv[0, i].Value = qlddr[0].ToString()。
dv[1, i].Value = qlddr[1].ToString()。
dv[2, i].Value = qlddr[4].ToString()。
dv[3, i].Value = qlddr[6].ToString()。
dv[4, i].Value = qlddr[7].ToString()。
dv[5, i].Value = qlddr[9].ToString()。
i++。
//i为行索引
}
qlddr.Close()。
//再次关闭qlddr的 Reader对象
}
else
{
for (int i = 0。
i < dv.RowCount。
i++)
{
dv[0, i].Value = ""。
dv[1, i].Value = ""。
dv[2, i].Value = ""。
dv[3, i].Value = ""。
dv[4, i].Value = ""。
dv[5, i].Value = ""。
}
}
}
catch (Exception ee)
{
MessageBox.Show(ee.ToString())。
}
}
#endregion
#region添加
publicint tb_EmpInfoAdd(tb_EmpInfo Empinfo)
{
int intFlag = 0。
try
{
string str_Add = "insert into tb_EmpInfo values( "。
str_Add += " '"+ Empinfo.EmpId1 + "','"+ Empinfo.EmpName1 + "','"+ Empinfo.EmpLoginName1+ "',"。
str_Add += " '" + Empinfo.EmpLoginPwd1 + "','" + Empinfo.EmpSex1 + "','" +
Empinfo.EmpBirthday1+ "',"。
str_Add += " '"+ Empinfo.EmpDept1+ "','"+ Empinfo.EmpPost1 + "','"+ Empinfo.EmpPhone1 + "',"。
str_Add += " '" + Empinfo.EmpPhoneM1 + "','" + Empinfo.EmpAddress1 + "',"。
str_Add += "'" + Empinfo.EmpFlag1 + "')"。
getSqlConnection getConnection = new getSqlConnection()。
conn = getConnection.GetCon()。
cmd = new SqlCommand(str_Add, conn)。
intFlag = cmd.ExecuteNonQuery()。
//返回受影响的行数
conn.Dispose()。
return intFlag。
}
catch (Exception ee)
{
MessageBox.Show(ee.ToString())。
return intFlag。
}
}
#endregion
#region修改
publicint tb_EmpInfoUpdate(tb_EmpInfo Empinfo)
{
int intFlag = 0。
try
{
string str_Update = "update tb_EmpInfo set "。
str_Update += "EmpName='"+ Empinfo.EmpName1 + "',EmpLoginName='"+ Empinfo.EmpLoginName1+ "',"。
str_Update += "EmpLoginPwd='"+ Empinfo.EmpLoginPwd1+ "',EmpSex='"+ Empinfo.EmpSex1+ "',EmpBirthday='" + Empinfo.EmpBirthday1+ "',"。
str_Update += "EmpDept= '"+ Empinfo.EmpDept1+ "',EmpPost='"+ Empinfo.EmpPost1 + "',EmpPhone='" + Empinfo.EmpPhone1 + "',"。
str_Update += " EmpPhoneM='"+ Empinfo.EmpPhoneM1 + "',EmpAddress='"+ Empinfo.EmpAddress1 + "',"。
str_Update += "EmpFlag='"+ Empinfo.EmpFlag1 + "' where EmpId='"+ Empinfo.EmpId1 + "'"。
getSqlConnection getConnection = new getSqlConnection()。
conn = getConnection.GetCon()。
cmd = new SqlCommand(str_Update, conn)。
intFlag = cmd.ExecuteNonQuery()。
conn.Dispose()。
return intFlag。
}
catch (Exception ee)
{
MessageBox.Show(ee.ToString())。
return intFlag。
}
}
#endregion
#region删除
publicint tb_EmpInfoDelete(tb_EmpInfo Empinfo)
{
int intFlag = 0。
try
{
string str_Update = "update tb_EmpInfo set "。
str_Update += "EmpFlag='"+ Empinfo.EmpFlag1+ "' where EmpId='"+ Empinfo.EmpId1+ "'"。
getSqlConnection getConnection = new getSqlConnection()。
conn = getConnection.GetCon()。
cmd = new SqlCommand(str_Update, conn)。
intFlag = cmd.ExecuteNonQuery()。
conn.Dispose()。
return intFlag。
}
catch// (Exception ee)
{
return intFlag。
}
}
#endregion
#region生成客户编号例如:CVIV-20071118114255(CVIT—年月日时分秒) publicstring tb_EmpInfoID()
{
int intYear = DateTime.Now.Day。
int intMonth = DateTime.Now.Month。
int intDate = DateTime.Now.Year。
int intHour = DateTime.Now.Hour。
int intSecond = DateTime.Now.Second。
int intMinute = DateTime.Now.Minute。
string strTime = null。
strTime = intYear.ToString()。
if (intMonth < 10)
{
strTime += "0" + intMonth.ToString()。
}
else
{
strTime += intMonth.ToString()。
}
if (intDate < 10)
{
strTime += "0" + intDate.ToString()。
}
else
{
strTime += intDate.ToString()。
}
if (intHour < 10)
{
strTime += "0" + intHour.ToString()。
}
else
{
strTime += intHour.ToString()。
}
if (intMinute < 10)
{
strTime += "0" + intMinute.ToString()。
}
else
{
strTime += intMinute.ToString()。
}
if (intSecond < 10)
{
strTime += "0" + intSecond.ToString()。
}
else
{
strTime += intSecond.ToString()。
}
return ("Em-" + strTime)。
}// end if
#endregion
}
}。