市场信息管理系统的设计与应用.doc_第1页
市场信息管理系统的设计与应用.doc_第2页
市场信息管理系统的设计与应用.doc_第3页
市场信息管理系统的设计与应用.doc_第4页
市场信息管理系统的设计与应用.doc_第5页
免费预览已结束,剩余12页可下载查看

下载本文档

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

文档简介

市场信息管理系统的设计与应用 农业市场信息管理系统的实现 摘要 市场信息管理系统是信息化社会的必然产物。农业现代化催生了农业企业信息管理系统。文中针对农业企业的特点,设计了农业企业市场信息化网络数据库、客户端和服务器程序,并讨论了系统的体系结构、网络模型的选择。关键词 B/S模式 数据库 ASP.net VB.net 农业信息化Designing and applicating of market information management systemABSTRACT The information management system in market is certain outgrowth of information society.The agriculture enterprise information management system was development in the agriculture modernize.To against the characteristic of agriculture enterprise in the character,we designed agriculture enterprise market information internet database , client-side and server program , and discussed the architectural structure of system and the selection of network model.KEYWORDS B/S Model Database ASP.NET VB.NET Agriculture infomationiation1 引言企业市场信息量是庞大的,而且带有大量的统计输出,传统的市场信息管理存在许多弊端,如重复劳动严重,效率低下、不能及时的提供所需的各种信息等。对企业而言,效率是一个重要的因素。随着计算机技术的发展,网络技术逐步深入社会,企业都充分利用网络来实现信息的交流。农业企业实现信息化管理是现代化进程的必然。但是目前此类农业市场信息管理系统还少,需要开发。特别是在世界发达国家全面实现农业现代化,发展中国家走向农业现代化,以计算机多媒体技术、光纤和卫星通信技术为特征的信息化浪潮席卷全球的大环境西。现代信息技术正在向农业领域渗透,必将推动农业信息产业的高速发展,引发一场新的农业科技革命,为农业进入新的发展阶段提供重要支持。社会经济发展表明,社会信息化是社会发展的客观需要,农业信息化是农业现代化发展的必然结果。而农业的信息化则会带来市场网络化。农业市场信息管理系统从框架上仍是与别的企业市场信息管理系统无区别,但是具体结构设计上要充分考虑其特殊性。针对这些情况,本文提出了适用于农业企业的Internet(B/S模式)市场信息管理系统。2 系统分析在农业市场信息管理系统中涉及的用户,既有通常意义下的企业用户,也有单个农户这样的用户。他们都是构成农业市场信息管理系统的组成单元。在这里我们将他们都称为企业,可以统一成一个管理模式。经分析,农业企业市场信息管理系统应具备以下功能:(1)对加入系统的企业实现注册和注册企业的销售管理人员的注册,修改和删除。(1)提供通用性较强的企业产品信息管理,包括产品信息的查询(包括条件查询)、显示、添加、修改、删除等功能。(2)提供通用性较强的企业交易记录管理,包括交易记录的多种方式查询,一旦合同生成就不可以再修改,只能查询。(3)能够对企业参加网上销售、求购等人员进行管理(具体操作由企业主管完成)。(4)能够实现企业买卖双方的网络在线洽谈和在线合同的签定。(5)可以通过对合同记录的查询知道对方对合同的执行情况。(6)企业能够发布求购信息。3 系统设计3.1 系统的功能模块设计针对实际需求,将本系统按功能模块的分类分类确定为以下几个模块:3.1.1 注册模块。其主要功能是对企业的注册和注册企业的销售管理人员的注册,以及企业管理人员的登陆。3.1.2主管模块。其功能主要是对本企业网上销售、求购等人员的添加、修改相关信息和删除,还能够查看合同记录、本企业的产品信息和发布的求购信息。3.1.3 销售人员模块。其主要功能是能实现商务的在线洽谈和求购信息的显示以及在线合同的签定。3.1.4 求购人员模块。其主要功能与销售人员模块相似,是实现商务的在线洽谈和销售信息的显示以及在线合同的签定。3.1.5 收货人员模块。其主要功能是对本企业已经与另外企业在网上签定了商务合同的合同执行收货的操作。3.16 发货人员模块。 其主要功能是对本企业已经与另外企业在网上签定了商务合同的合同执行发货的操作。3.1.7 产品信息管理员模块。 其主要的功能是对本企业产品信息的显示、添加、修改、删除和求购信息的发布。3.2 系统结构总图(见图1)企业注册和注册企业销售管理人员注册注册企业管理人员登陆主管销售人员求购人员收货人员发货人员产品信息管理人员本企业注册信息修改和删除对本企业销售管理人员的管理查看合同记录查看本企业产品信息在线商务洽谈求购信息显示在线商务洽谈产品信息显示执行收货操作执行发货操作显示添加修改删除产品信息求购信息的发布合同的签定合同的签定图1 系统结构总图农业企业市场信息管理系统首页界面3.3系统体系结构的选择按照功能设计的要求,并考虑到其面向的客户的交互性,广泛性以及易于改版和扩充性等特点,本系统只考虑web浏览器/服务器(Browser/Server)这种模式,对客户/服务器(Client/Server)模式不予考虑。B/S模式是当前先进的协同应用程序开发模型。从本质上来讲,它也是一种Client/Server结构,是由传统的两层的C/S结构发展而来的三层C/S结构在web上的应用。此时,表示层、功能层和资料层分成三个相对独立的单元。表示层中包括显示逻辑,位于客户端它的任务是向web服务器提供服务请求,并接受web的主页信息和显示;功能层中则包含了事务处理逻辑,它位于web服务器端,其任务是接受客户端的请求与数据库进行连接,向数据库服务器提出数据处理请求,并将结果传送给客户端;第三层的资料层则包含了系统的数据处理逻辑,位于数据库服务器上,它接受web服务器对数据库进行操作的请求,对数据库进行查询、修改及更新等,并将结果提交给web服务器。在此提出B/S结构的概念是为了说明在本系统中采用三层结构的原因,在本系统中我们采用了三层结构,即客户端,中间层,服务器。客户端用Html开发,中间层用VB.net开发的DLL文件,服务器端用ASP.net,数据库使用Microsoft SQL Server20003.4系统的网络模型根据系统的体系结构,本系统的网络模型(如图2)Web浏览器Web服务器ADO.net 数据库 图2 网络模型图四 基本开发原理和步骤4.1开发环境 我们在这个系统中开发客户端的语言是Html,用VB.net开发的DLL文件作为中间层,服务器端用ASP.net,数据库使用Microsoft SQL Server2000。由于在设计系统时,把数据库服务器设置成了本地,即在安装数据库Microsoft SQL Server 2000时选择了Local。所以连接数据库的语句为dim sqlcon as new sqlconnection(“server=localhost;uid=sa;pwd=;database=”) 如果数据库服务器不是本地的则只要修改server的指向就可以了,若数据库用了不同的密码用户名等也只要修改相应的值即可。4.2后台建立数据库并创建连接数据库建立包括安装系统,建立数据库和数据表,以及对数据库写存贮过程。安装时要注意设置SQL Server的最大访问数量,否则服务器会在用户过多的情况以后死锁。SQL Server是图形化的管理,数据库的建立和数据表的建立是非常容易的。在这里因为没有现成的数据库可以用,我们直接建立数据库、表格。根据系统结构总图,我们建立注册数据库(register)产品信息数据库(chanpin)。其中注册数据库包括企业注册表(qiyezhuce), 管理人员注册表(glry);产品信息数据库包括交易记录数据表(htong),产品信息表(cpxinxi)。发布信息表(fbxx)。具体操作是:选择【开始】|【程序】| Microsoft SQL Server |【企业管理器】|命令,打开窗口,在打开窗口的左侧窗格将控制台根目录的树形结构展开,在【数据库】文件或其下属数据库图标上右击,选择【新建数据库】命令;或直接选择【操作】|【新建数据库】命令也可以建立新的数据库。在弹出的属性窗口的【常规】选项卡的【名称】文本框中输入数据库的名称“register”(数据库的名称可以任取),并选择排序规则就可以完成数据库的建立。同理可建立产品信息数据库“chanpin”。建立数据库表的步骤如下。(1) 选择要创建表的数据库。(2) 在所选的数据库的展开列表中选择【表】,右击,从快捷菜单中选择【新建表】命令,即出现对话框。在此指定约束,设置表的列名、数据类型、大小、是否为NULL值、标识等属性。参照以上建表步骤就可以完成数据表的建立。4.3中间件的基本编程VB.net与后台数据库的连接有多种途径,在本系统中我们用ADO的最新一代产品ADO.net连接后台数据库。在VB.net中已经集成了ADO.net,在Microsoft Visual S中是一个控件。我们在制作中间件时无法直接使用ADO.net控件,而是用直接编程的方式来完成的,因为中间件在制作代码时是一个类,在Microsoft Visual S中类是不能直接使用ADO.net控件的。下面我们给出在DLL文件中使用到的部分函数(在类库项目中编写)/注册企业管理人员注册登陆DLL文件函数/登陆函数public function check as Booleanif _username=” then /检查是否输入了用户名_info=”请输入用户名”return falseexit functionend ifif _userpassword=” then /检查是否输入了密码_info=”请输入密码”return falseexit functionend if/连接数据库并比较dim sqlcon as new sqlconnection(“server=localhost;uid=sa;pwd=;database=register”)sqlcon.opendim sqld as new sqldataadapter(“select * from glry where userid=”&_username&”and psw=”_userpassword”,sqlcon)dim ds as new datasetsqld.fill(ds,”glry”)if ds.tables(“glry”).rows.count=0 then_info=”登陆失败”return falseelse_info=”登陆成功”return trueend ifsqlcon.closesqlcon=nothingsqld=nothingds=nothingend function/注册企业的管理人员注册public function adduser as Booleanon error goto err1/连接数据库dim sqlcon as new sqlconnection(“server=localhost;uid=sa;pwd=;database=register”)sqlcon.opendim strsql as stringstrsql=”INSERT INTO glry(userid,psw,name,sex,tel,email,job)VALUES(”&_username&”,”&_userpassword&”,”&_name&”,”&_sex&”,”&_tel”,”&_email&”,”&_job&”)” /数据库添加语句dim sqlcom as new sqlcommandsqlcom.connection=mandtext=strsqlsqlcom.executenonquery /执行添加语句sqlcon.closesqlcon=nothingsqlcom=nothingadduser=trueexit functionerr1:adduser=falseend function/删除注册企业管理人员public function deleteuser as booleanon error goto err2/连接数据库dim sqlcon as new sqlconnection(server=localhost;uid=sa;pwd=;database=register)sqlcon.opendim strsql as string/删除的SQL语句strsql=delete from glry where userid=&_username&dim sqlcom as new sqlcommandsqlcom.connection=mandtext=strsql sqlcom.executenonquery /执行删除操作sqlcon.closesqlcon=nothingsqlcom=nothingdeleteuser=trueexit functionerr2:deleteuser=falseend function/修改注册企业的管理人员信息public function updatainfo as booleanon error goto err3dim sqlcon as new sqlconnection(server=localhost;uid=sa;pwd=;database=register)sqlcon.opendim strsql as string/修改的SQL语句strsql=updata glry set name=&_name&,sex=&_sex&, tel=&_tel&,email=&_email&,job=&_job& where userid=&_username&dim sqlcom as new sqlcommandsqlcom.connection=mandtext=strsqlsqlcom.executenonquery /执行修改操作sqlcon.closesqlcon=nothingsqlcom=nothingupdatainfo=trueexit functionerr3:updatainfo=falseend function/查询注册企业的管理人员public function queryuser as booleanon error goto err4/连接数据库dim sqlcon as new sqlconnection(server=localhost;uid=sa;pwd=;database=register)sqlcon.opendim strsql as string/查询的SQL语句strsql=select * from glry whee userid=&_username&dim sqlreader as new sqldatareaderdim sqlcom as new sqlcommandsqlcom.connection=mandtext=strsqlsqlreader=sqlcom.executereader /执行查询操作if sqlreader.read then /如果有查询结果则显示_username=sqlread.item(userid)_userpassword=sqlreader.item(psw)_name=sqlreader.item(name)_sex=sqlreader.item(sex)_tel=sqlreader.item(tel)_email=sqlreader.item(email)_job=sqlreader.item(job)sqlcon.closesqlcon=nothingsqlcom=nothingqueryuser=trueelsequeryuser=falseend ifexit functionerr4:queryuser=falseend function以上涉及的是数据库的基本操作(登陆函数除外),在企业注册DLL文件,产品信息DLL文件,交易记录DLL文件和发布信息DLL文件中都有相同的函数操作,这里不详细逐一列出,只需要修改以上函数相应的值即可使用,如产品信息DLL文件中的查询函数修改为public function querycp as dataview。4.4前台程序基本编程前台程序设计实际上是各个功能模块的界面设计。我们所使用的是新项目类型“ASP.NET Web应用程序”的类型项目。通过web窗体页来创建可编程的web页,这些web页就作为web页应用程序的用户界面。ASP.NET提供了一种对象模型,将窗体作为一个整体,而不是分离的客户端和服务器模块。在此系统中,可以通过比在传统web应用程序中更为直观的方式来对窗体进行编程,其中包括能够设置窗体元素的属性和响应事件。此外,ASP.NET服务器控件是基于HTML页的物理内容以及浏览器与服务器之间的直接交互的一种抽象模型。通常,可以按照在客户端应用程序中使用控件的方式使用服务器控件,而不必考虑如何创建HTML来显示和处理控件及其内容。而且,ASP.NET是事件驱动的,是独立于浏览器的应用程序,不需要为浏览器的不同而显示的编码。4.4.1登陆界面在窗体中添加两个Input元素和三个Button按钮。对Input元素由type属性来指定具体的控件;type属性值分别为text和password。按钮的值分别是:企业注册,企业管理人员登陆,企业管理人员注册。在HTML代码的顶部用语句来调用我们已经编译好的企业管理人员DLL文件(glryregister.dll)。这里只需要编写一个函数来显示DLL文件的执行结果。其实现的关键代码为:sub userenter(sender as object, e as eventargs) dim reg as new glryregister reg.userid=trim(userid.text) reg.psd=trim(psd.value) if reg.check then session(userid)=userid.text end if if 登陆成功= if 主管=DropDownList1.selecteditem.text then response.redirect(/zhuguan/WebForm1.aspx) end if if 销售=DropDownList1.selecteditem.text then response.redirect(/register/xiaoshou.aspx) end if if 采购=DropDownList1.selecteditem.text then response.redirect(/register/caigou.aspx) end if if 发货=DropDownList1.selecteditem.text then response.redirect(/register/fahuo.aspx) end if if 收货=DropDownList1.selecteditem.text then response.redirect(/register/shouhuo.aspx) end if if 产品信息管理员=DropDownList1.selecteditem.text then response.redirect(/register/cpxxgly.aspx) end ifelse labcontent.text= & & end ifend sub 4.4.2企业注册界面在窗体中添加两个Input元素用来作为企业密码和确认企业密码的输入,添加十二个textbox控件来作为企业名称等的输入框,添加三个文本域控件textarea来作为企业概述、主要产品和机构与联系方式的输入。同样要在HTML代码的顶部用语句来调用我们已经编译好的企业注册DLL文件(qyregister.dll)。对于必须的输入项要在每个控件的后面添加验证控件。其关键代码为:sub butclick(sender as object,e as eventargs)dim reg as new qyregisterif page.isvalid panyid=companyid.textif not reg.queryuser panypsd=panyname=panynumber=companynumber.textreg.faren=faren.textreg.qiyilb=qiyilb.textreg.qiyiadress=qiyiadress.textreg.dh=dh.textreg.db=db.textreg.cz=cz.textreg.email=email.textreg.farentel=farentel.textreg.qiyigs=qiyigs.valuereg.zycp=zycp.valuereg.jgandtel=jgandtel.valueif reg.adduser then labinfo.text=注册成功!else labinfo.text=注册失败end ifelselabinfo.text=注册用户名已经有人使用end ifend ifend subsub chongtian(sender as object,e as eventargs)companyid.text=companypsd1.value=companyname.text=companynumber.text=faren.text=qiyixz.text=qiyilb.text=qiyiadress.text=dh.text=db.text=cz.text=email.text=farentel.text=qiyigs.value=zycp.value=jgandtel.value=end sub4.4.3管理人员注册界面此界面的制作与企业注册界面非常相似,这里不作详细描述。不过需要注意的是要在此界面中添加一个textbox控件来接受企业用户名的输入,因为必须通过它来验证注册的管理人员所在公司是否已经注册。同样也要调用管理人员DLL文件(glryregister.dll)。其关键代码为: sub butclick(sender as object,e as eventargs) dim reg as new glryregister if page.isvalid then reg.userid=TextBox1.text if not reg.queryuser then reg.psd=trim(psd1.value) =TextBox3.text reg.sex=DropDownList1.selectedItem.text reg.tel=TextBox5.text reg.email=TextBox6.text reg.job=DropDownList2.selectedItem.text if psd1.valuepsd2.value labinfo.text=输入密码不一致 end if if reg.adduser then labinfo.text=注册成功 else labinfo.text=注册失败 end if else labinfo.text=注册用户名已经有人使用end ifend ifend sub4.4.4主管界面在窗体中使用框架,页面的左边是导航菜单,我们使用树型结构设计它的结构;页面右边是显示相应内容的,具体内容是本企业注册信息的修改和删除,本企业销售管理人员的添加、修改密码和相关信息以及删除,查看合同记录和本企业的产品信息。对查询结果的显示用Datagrid控件。修改和删除信息的内容仍然使用与企业注册相似的界面,不过删除信息的界面不需要列出那么多的信息项。这里所有的中间件DLL文件都要调用。其关键代码为:/查看产品信息sub btclick(sender as object,e as eventargs)dim xx as new cpxxDataGrid1.datasource=xx.queryallcp.tables(tabuser)DataGrid1.dataBind()end sub/查看发布信息、查看合同信息、查看管理人员信息此三个页面的关键代码与查看产品信息相似,只是引用的DLL文件不同。/查询管理人员信息关键代码为: sub butclick(sender as object,e as eventargs) dim reg as new glryregister reg.userid=userid.text reg.psd=psd1.value reg.tel=tel.text reg.email=email.text reg.job=job.selectedItem.text if psd1.valuepsd2.value labinfo.text=输入密码不一致 end if if reg.updatainfo then labinfo.text=修改成功 else labinfo.text=修改失败 end if end sub/删除管理人员信息此关键代码为:sub btclick(sender as object,e as eventargs)dim xx as new glryregisterxx.userid=userid.textif xx.deleteuser thenlabinfo.text=删除成功userid.text=elselabinfo.text=删除失败end if end sub4.4.5销售人员界面在窗体中使用框架,页面上下分为两部分,上部分显示求购信息由一个Datagrid控件完成。下部分是一个聊天室,可以实现在线恰谈。洽谈成功后进入签约室,此时上部分的显示信息为双方需要签定的合同信息。同样由一个Datagrid控件完成。此页面的显示的关键代码与查看管理人员信息的代码相同,但是聊天室的代码过长,在此并不列出,其原理与网上流行的聊天室原理相似。4.4.6求购人员界面与销售人员界面相似,不同在于上部分开始时是显示的产品信息。同样此此页面的显示的关键代码与查看管理人员信息的代码相同,聊天室代码与销售页面用的相同代码。4.4.7发货人员界面显示最新的没有执行的合同记录,同时有超连接可以查看合同的具体内容,由两个Datagrid控件来实现。“查看合同”的关键代码与主管页面的代码相同,点击“发货”按钮的代码与“修改管理人员信息”的代码相同,不过只修改一个字段的值而也。4.4.8收货人员界面显示本企业没有收到货的合同记录,有超连接可以查看合同的具体内容,由两个Datagrid控件来实现。此页面的关键代码的原理同发货页面的代码,只是参数不同。4.4.9产品信息管理人员界面在窗体中添加框架,左边为菜单导航,右边显示相关内容为本企业产品信息的显示、添加、修改、删除和求购信息的发布。显示用Datagrid控件来完成,添加、修改、删除和求购信息的发布与注册企业界面相似。此页面的关键代码为:/产品查询sub btclick(sender as object,e as eventargs)dim xx as new cpxxxx.cpname=cpname.textxx.cpdj=cpdj.textDataGrid1.datasource=xx.querycp.tables(tabuser)DataGrid1.dataBind()end subsub dgpage(sender as object,e as DataGridpagechangedEventArgs)DataGrid1.currentpageindex=e.newpageindexDataGrid1.dataBind()end sub/产品添加sub btclick(sender as object,e as eventargs)dim xx as new cpxxxx.cpname=cpname.textxx.bianm=bianm.textxx.xingh=xingh.textxx.cpbz=cpbz.valuexx.cpdj=cpdj.textxx.cpjg=cpjg.textxx.beiz=beiz.valuexx.scnl=scnl.textxx.kcl=kcl.textif not xx.addcp thenlabinfo.text=添加失败elselabinfo.text=添加成功end ifend sub/产品修改sub btclick(sender as object,e as eventargs)dim xx as new cpxxxx.bianm=bianm.textxx.xingh=xingh.textxx.cpbz=cpbz.valuexx.cpdj=cpdj.textxx.cpjg=cpjg.textxx.beiz=beiz.valuexx.scnl=scnl.textxx.kcl=kcl.textif not xx.updateinfo thenlabinfo.text=失败elselabinfo.text=成功end sub/产品删除sub btclick(sender as object,e as eventargs)dim xx as new cpxxxx.cpname=cpname.textxx.bianm=bianm.textif not xx.deletecp thenlabinfo.text=删除失败elselabinfo.text=删除成功end ifend sub/信息发布sub btclick(sender as object,e as eventargs)dim xx as new panyname=TextBox1.textxx.cpname=cpname.textxx.xingh=xingh.textxx.cpbz=cpbz.valuexx.cpdj=cpdj.textxx.beiz=beiz.valueif not xx.addxx thenlabinfo.text=发布失败elselabinfo.t

温馨提示

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

评论

0/150

提交评论