基于.NET的服装进销存管理系统开发
所属栏目:市场营销论文
发布时间:2011-02-26 11:27:35 更新时间:2023-06-29 15:32:10
摘要:介绍了C/S模式下服装进销存管理系统的开发过程,系统借助VisualStuido.Net平台,C#语言和SQLServer2000数据库,实现了对服装企业的订单、报价单、客户、供应商和文件等信息的管理。是一个功能比较齐全的进销存管理系统。
关键词:服装;进销存管理系统;C#
引言
近年来我国信息产业发展迅速,手工管理方式在需要处理大量事务的企业管理系统中已显得不相适应,而服装企业也存在这样的问题。如何把人们从复杂、繁琐的工作中解放出来,提高工作效率,从而提高企业竞争力是服装企业现在必须面对的一个问题。而现在随着科技发展和社会进步,以台式计算机为核心,以数据库管理系统为开发环境的管理信息系统已大量应用在企业日常管理中。所以现在为服装企业开发一个管理系统条件已经成熟,也能很好的解决服装企业所面对的问题。
1开发技术简介
C#(发音为“CSharp”)是简单、现代、面向对象和类型安全的编程语言,是微软公司于2000年7月发布的一种新的面向对象的编程语言,它是专门为微软的.Net平台设计的语言,必须和.Net平台一起使用。C#已经获得了ECMAInternational和ISO/IEC的国际标准认证,它们分别是ECMA-334标准和ISO/IEC23270标准。现代软件设计越来越依赖于自包含(self-contained)和自描述(self-describing)功能包形式的软件组件。这种组件的关键之处在于它们提供了带有属性、方法和事件的编程模型;它们还具有提供关于组件声明信息的特性(attribute);同时,它们编入了自己的文档。C#提供语言构件来直接支持这些概念,使得C#在创建和使用软件构件方面非常自然。
SQL全称是“结构化查询语言(StructuredQueryLanguage)”,它结构简洁,功能强大,简单易学,所以得到了广泛的应用。它由4个部分组成:数据查询语言、数据操纵语言、数据定义语言、数据控制语言。ANSI(美国国家标准学会)声称,SQL是关系数据库管理系统的标准语言。SQL语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据。使用SQL的常见关系数据库管理系统有:Oracle、Sybase、MicrosoftSQLServer、Access等等。
2 系统功能模块图
根据需求分析,设计系统的功能模块图如下,本图体现了系统的各个模块间的关系,也体现了层次结构。
3系统设计
3.1界面设计
本系统主要面向一个企业内部员工,所以在界面设计中采用了简洁、大方和方便用户输入的设计,而没有对界面做图像处理。有代表性的系统首界面如下图2所示。
系统首界面很好的展现了本系统界面设计特点,简洁、大方但很实用。在界面设计中主要用到文本控件、标签控件、下拉文本框控件、按钮控件和DataGrid控件。其中下拉控件用的很多,因为它能省去用户输入操作;而DataGrid是一个显示数据很好的控件,并且它还能很方便实现对数据的操作。
3.2数据库设计
数据库设计(DatabaseDesign)是指对于一个给定的应用环境,构造最优的数据库模式,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。
本系统主要的数据库表如表1所示:
3.3主要功能实现
(1)登录界面的实现,为了增加数据安全性,本系统使用两层安全验证。第一层为数据库安全验证,如图3所示。在本界面要求输入服务器名、用户名和密码,当用户名和密码不正确时,说明用户没有登录数据库的权限。当用户通过测试连接时,就进入第二层数据验证,也是表数据验证,如图4所示。在本界面要求输入用户名和密码,当用户名和密码不正确时,说明用户在表中没有记录。而当用户名和密码正确时就进入了系统。
本部分用到的数据库操作类主要有SqlConnection和SqlCommand。测试连接关键代码如下:
conn_str=string.Format("server={0};database=huyueliang;uid={1};pwd={2}",this.textBox1.Text.Trim(),this.textBox2.Text.Trim(),this.textBox3.Text.Trim());
而登录方法Login关键代码如下:
SqlConnectionconn=newSqlConnection(conn_str);
SqlCommandcomm=conn.CreateCommand();
comm.CommandText="execLogin_User@s0,@s1";
comm.Parameters.Add("@s0",SqlDbType.VarChar);
comm.Parameters.Add("@s1",SqlDbType.VarChar);
comm.Parameters["@s0"].Value=usertxtbox.Text.Trim();
comm.Parameters["@s1"].Value=pwdtxtbox.Text.Trim();
以上是要执行的存储过程和给存储过程参数赋值。以下是执行存储过程代码并判断用户是否存在。
conn.Open();
objectname=comm.ExecuteScalar();
if(name!=null&&name.ToString()==usertxtbox.Text.Trim()){
this.Visible=false;
Form1f=newForm1();
f.Show();
}
else{
MessageBox.Show("用户名和密码不正确!","提示",MessageBoxButtons.OK,MessageBoxIcon.Question);}
(2)图片获取功能,因为服装企业有些数据是图片形式的,比如款式、绣花印花等,所以本系统还提供了把图片读取到数据库的功能。它是通过在图片框上右击鼠标按钮,弹出文本菜单选项,点击“获取图片”按钮实现的。它的操作非常简单、方便。
本部分主要用到get_picture方法,而所用类主要是FileStream。其中关键代码如下:
if(this.openFileDialog1.ShowDialog()==DialogResult.OK)
FileStreamfs=newFileStream(this.openFileDialog1.FileName,FileMode.Open,FileAccess.Read);
以上代码是为文件流设置读取路径,下面的代码是把数据写入字节数据中:
img[0]=newbyte[fs.Length];
fs.Read(img[0],0,Convert.ToInt32(fs.Length));
(3)文件链接功能,为了方便管理和查询与打样单或订单有关的文件,本系统在打样单和订单界面提供了文件链接功能。实现过程是,在后台有个FILE表存文件的类别、地址等信息,在前台用到了DataGrid和Button控件,如图5所示。
此处代码实现的过程主要用到了SqlConnection、SqlCommand、DataRow等类。其中数据的增、删和改用到了一些自定义方法,而查看用到的代码如下:
ProcessP=newProcess();
P.StartInfo.FileName=this.dataGrid1[this.dataGrid1.CurrentRowIndex,1].ToString();
P.Start();
(4)查询功能,这个主要是指客户管理、工厂管理、供应商管理和外贸公司管理界面中的查询功能。当信息量很大的时候,通过这功能能更快、更准的找到所需信息。它的运行流程是在文本框中输入查询条件值,点击“查询”按钮,DataGrid就会把符合条件的数据显示出来。它的前台实现用到TextBox、Lable、Button和DataGrid控件。
后台实现显示联系人信息关键代码如下:
foreach(DataRowrowintable.Rows){
if(row.RowState!=DataRowState.Deleted){
foreach(DataTabletabinLXR_Set.Tables){
boolgate=true;
if(tab.TableName==row[0].ToString()){
foreach(DataRowrintab.Rows)
if(r[0].ToString()==this.textBox2.Text.Trim()){
gate=false;break;
}
if(gate)
row.Delete();
break;}}}}
this.dataGrid1.DataSource=table;
(5)数据库备份和恢复功能,为了更好的保护数据,本系统提供了数据库备份和恢复功能。具体实现过程如下:
在窗体中用到Lable、TextBox和Button、Timer、OpenDialog控件。时间显示功能用到Timer控件的Interval属性,它是每隔一秒触发一次Tick事件。而备份和恢复功能的实现主要用到SqlConnection、SqlCommand类。数据库备份实现代码如下:
在窗体中用到Lable、TextBox和Button、Timer、OpenDialog控件。时间显示功能用到Timer控件的Interval属性,它是每隔一秒触发一次Tick事件。而备份和恢复功能的实现主要用到SqlConnection、SqlCommand类。数据库备份实现代码如下:
stringpath=this.textBox1.Text+System.DateTime.Now.ToShortDateString();
SqlConnectionconn=myData.conn;
SqlCommandcomm=conn.CreateCommand();
";
conn.Open();
comm.ExecuteNonQuery();
而数据库恢复和备份代码相似,主要是SQL语句不同,数据库恢复SQL语句如下:
comm.CommandText=@"USEmaster
ALTERDATABASEhuyueliangSETOFFLINEWITHROLLBACKIMMEDIATE
RESTOREDATABASEhuyueliangFROMDISK='"+path+"'ALTERDATABASEhuyueliangSETONLINEWITHROLLBACKIMMEDIATE";
4结论
由于时间的关系,本系统存在很多不足的地方,比如设计的界面不是很美观,但本系统也有很多优点,它把以前服装企业复杂的跟单管理、采购管理、客户信息管理、工厂信息管理等,集合到一个系统中统一管理,使管理清晰明了;把以前复杂的表格操作转化成用计算机进行操作,简化了人们的工作。
参考文献
[1]陈钟,刘强,张高.C#编程语言程序设计与开发[M].北京:清华大学出版社,2006.
[2]王华杰,黄山.精通C#数据库编程[M].北京:科学出版社,2003.
[3]李春葆,曾慧.SQLServer2000应用系统开发教程[M].北京:清华大学出版社,2006.
[4]梁瑾,王咸伟,陈虹.客户管理系统的设计与实现[J].电脑与信息技术,2008.