烟草行业实现信息化管理的一种有效途径[原创]

romanticonline 2002-04-16 04:48:10
烟草行业实现信息化管理的一种有效途径[原创]
An Effective Way to Realize Information Management of Tobacco Trade
耿百强
(中共河南省济源市委党校 河南 454650)
【摘 要】本文系统介绍了利用ASP、SQL和ADO访问Web数据库的方法与技巧,并通过自己的实践经验叙述了烟草行业实现信息化管理的方法。
【关键词】烟草行业,信息化管理,Web数据库
ABSTRACT: The method and skill of accessing Web database by ASP, SQL and ADO are introduced systematically in this page, and information management method of Tobacco Trade is introduced according to author’s own practical experience.
KEYWORDS: Tobacco Trade, Information Management, Web Database


信息化大潮席卷全球,Internet技术日益普及应用,越来越多的烟草企业构建了局域网,并在此基础上搭建了互联网站,这无疑对企业信息化建设起到推动作用。但实际工作中存在着软件建设落后于硬件建设的现状,具体表现为系统内各单位、各部门之间文件的传递仍然沿用原始的上传和下达方式,不仅成本高而且效率低下。而在实际工作中有很多内容比如报表上传等,如果将这些内容做成交互式网页,工作人员根据授予的不同权限完成报表上传、报表出具、网上审查、审批等工作,这将大大缩短文件的流通时间,降低成本,提高工作效率,这也是适应信息化时代和实现办公自动化的基本要求。
我们利用ASP、SQL和ADO开发了一套基于互联网的烟草销售信息化管理系统,实现了烟草销售的网上上报与远程审批,大大提高了烟草行业的信息化管理程度和工作效率。其实现的原理是:客户端根据权限登录网站,然后将填写完整的数据表单提交给服务器端的ASP文件,服务器响应并执行ASP文件,进行相应的数据库操作,并将结果返回客户端。下面以其中一项为例,详细阐述系统的开发过程。
1 构建环境
1.1 建立Web服务器
配件上需要在系统中配置一台服务器,作为Web服务器。网络平台采用Microsoft Windows 2000 Server和 Microsoft Internet Information Services (IIS) 5.0构建。IIS5.0集成了用于开发Web数据库应用系统的技术,并增加了许多新的特性,利用ASP技术实现Web数据库对数据库服务器的访问。
数据库服务器采用Microsoft Server 2000。对于小站点,可以将 SQL 与 IIS 安装在同一服务器上。一旦站点开始增长,可以将 SQL 移动到其自身的服务器上。
构建Web服务器后,系统可以很方便地连接到Internet。在向ISP(Internet服务提供商)申请到Internet Web服务器的IP地址后,配置相应的参数,如主机名、DNS服务器的IP地址等,信息系统便可建立起与Internet的连接,成为一个Internet Web站点。
1.2 设定ODBC数据源
ADO通过各种ODBC驱动程序,可以连接多种数据库,如SQL Server、Oracle、Informix和Access等等。在使用ADO之前必须首先设定ODBC数据源,可通过“管理工具”中的“数据源 (ODBC)”设定数据源名称,选择相应网络数据库的ODBC驱动程序及数据库文件。
1.3 使用开发工具
如果不是进行很复杂的ASP/ADO编程,使用记事本或者FrontPage Editor等一般的编程工具开发就可以,但若进行高效、复杂的Web数据库应用开发,需要借助Visual InterDev等一些高级的Web数据库应用开发工具。
2 SQL后端数据存储方案
首先要解决需要保存哪些信息、这些信息要进行什么操作,然后利用SQL Server建立相应的数据库(即表)及其存储过程。对于烟草销售表Tobacco及其存储过程,架构如下:
---建立Tobacco表
create table Tobacco
(
idTobacco smallint identity primary key,
tbName varchar(20) not null,
tbDate smalldatetime default getdate(),
tbPrice float not null,
tbNumric integer not null,
tbTotal float
)
go

-- 存储过程
create procedure GetTobaccoInfo (@IdOfTobacco smallint)
as
select idTobacco,tbName,tbDate,tbPrice,tbNuric,tbTotal
From Tobacco
where idTobacco=@ IdOfTobacco
go
create procedure AddTobaccoInfo (@TobaccoName varchar(20), @TobaccoPrice float,@TobaccoNumric integer)
as
insert into Tobacco(tbName,tbPrice,tbNumric,tbTotal)
values(@TobaccoName, @TobaccoPrice, @TobaccoNumric, @TobaccoPrice*@TobaccoNumric)
go
Tobacco表使用一个标识键(自身递增)为主键,这样做的好处是无需自己创建一个唯一键。选择变长字符串来保存所销售烟草的名字,最长为20个字符。将日期保存为smalldatetime以节省空间,因为通常的日期时间会精确到毫秒,占用的空间是精确到分钟的 smalldatetime 的两倍,默认值为当前系统日期。其它的键分别表示烟草销售的单价、数量及总价等。
存储过程优于 ASP 中的硬编码的 SQL 有两个主要原因。第一个原因是,将数据访问代码与表示代码保持分离可确保数据的独立性。这允许程序员更改数据结构(及其伴随的存储过程),而无需修改 ASP 页。这是经典的 Microsoft Windows® DNA n 层体系结构。首选存储过程的第二个原因是它们比文本查询运行得更快,因为存储过程第一次被调用时就经过分析。因此,随后的调用不必再分析此过程。
3 客户端提交表单
为了在网上快速跨平台传递数据,目前数据的传递方式已由传统的C/S(客户端/服务器)结构,转变为B/S(浏览器/服务器)结构。B/S结构很容易实现客户端与服务器的交互式操作,并且这种方式的成本最低。客户端利用浏览器登录服务器的主页,在网页中通过FORM表单输入数据,然后通过“提交”按钮发送所填入的信息。
<html>
<title>烟草销售网上上报信息系统</title>
<body>
<form method=”post” action=http://localhost/wwwroot/report.asp id=form name=form>
烟草名字:<input type="text" name="tbName"><br>
销售单价:<input type="text" name="tbPrice"><br>
……
<input id=submit1 name=submit1 type=submit value=提交>
<input id=reset1 name=reset1 type=reset value=复位>
</form>
</body>
</html>
4 服务器端响应
4.1 ASP访问数据库的原理
ASP是服务器端的脚本执行环境,可用来产生和执行动态的高性能的WEB服务器程序。
当用户使用浏览器请求ASP主页时,WEB服务器响应,调用ASP引擎来执行ASP文件,并解释其中的脚本语言(JavaScript 或VBScript),通过ODBC连接数据库,由数据库访问组件ADO(ActiveX Data Objects)完成数据库操作,最后ASP生成包含有数据查询结果的HTML主页返回用户端显示。
由于ASP在服务器端运行,运行结果以HTML主页形式返回用户浏览器,因而ASP源程序不会泄密,增加了系统的安全保密性。
4.2 建立数据库连接
ADO(ActiveX Data Object)是一个ASP内置的ActiveX服务器组件,利用它可以很容易地将ASP页与SQL数据库相连接。首先创建一个到数据库的连接。为了获得记录集,调用 Connection 对象的 Execute 方法,将希望执行的命令的文本字符串传入。一旦有了记录集,就可以在其中循环。
文件Conection.asp 包含获得我的数据连接的函数。这意味着如果数据源有变化,程序员就只有一个位置需要编辑连接信息(服务器、用户、口令)。
---conection.asp
---程序中数据源DSN:TB、用户名:administrator、口令:tobacco。
<%@ LANGUAGE="VBSCRIPT"
ENABLESESSIONSTATE = False %>
<%
Option Explicit
Response.Buffer = True
Response.Expires = 0

function GetDataConnection()
dim oConn, strConn
Set oConn = Server.CreateObject("ADODB.Connection")
strConn = "Provider=SQLOLEDB; Data Source=TB; "
strConn = strConn & "User Id=administrator; Password=tobacco"
oConn.Open strConn
set GetDataConnection = oConn
end function
%>
4.3 利用ADO进行数据库更新
当前面的一切工作准备妥当时,利用ADO可以很方便地实现对数据库的更新操作。
---report.asp
<!--#includes file="conection.asp"-->
<% if Request.Form("submit1")="提交" then
dim tb(3), dbConn
tb(0)=Request.Form("tbName")
……
tb(2)=Request.Form("tbNumric ")
Set dbConn = GetDataConnection
Set cmdSelect = Server.CreateObject("ADODB.Command") ' 建立命令
cmdSelect.ActiveConnection = dbConn ' 指定命令的活动连接
cmdSelect.Parameters.Append = cmdSelect.CreateParameter("@TobaccoName", adVarchar, adParamInput,20)
……… ' 加参数
cmdSelect.Parameters("@TobaccoName") = tb(0)
……… ' 给参数赋值
cmdSelect.CommandText = "GetTobaccoInfo" ' 指定存储过程名
cmdSelect.CommandType = adCmdStoredProc ' 指定命令的类型为存储过程cmdSelect.Execute , , adCmdStoreProc ' 执行
cmdSelect.close
dbConn.close
End if%>
4.4 将结果返回客户端
将客户端传送来的数据存入服务器数据库后,系统将通过下面的代码把上传结果传送到客户的浏览器端。
<%
Set dbConn = GetDataConnection
Set rs=dbConn.Execute ("GetTobaccoInfo" &tb(0) )
烟草编号:< Response.Write("rs("idTobacco")")><br>
烟草名字:< Response.Write("rs("tbName")")><br>
……
销售总价:<Response.Write("rs("tbTotal")")><br>
dbConn.Close
%>
5 数据库安全
数据库中的数据通常比较敏感,因而提供访问数据库的Web程序有关额外的安全要求。通常的作法是,在用户通过Web访问数据库前,可利用本文所述方法提供用户访问权限数据库接口网页,使用用户登录页面来鉴别用户。
在客户端输入错误数据或无效数据后,服务器端的ASP文件可对用户代码进行超文本过滤,防止用户改变页面状态与写进Script程序来影响主页。建立相应的错误提示页面,使界面更加友好,更具安全性与可操作性。
6 结 论
利用ASP与SQL、ADO结合可以开发出在服务器端运行的、安全性较高的动态交互式网页,以实
...全文
250 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
romanticonline 2002-04-16
  • 打赏
  • 举报
回复
谢谢各位,谢谢大家。
特别感谢网络自由人,我在河南济源的,你在哪里,我准备去郑州发展了。
ChinaOk 2002-04-16
  • 打赏
  • 举报
回复
现在什么都要往网络上靠啊。
taglis2002 2002-04-16
  • 打赏
  • 举报
回复
不作评论。。。

不置可否。。。
freezwy 2002-04-16
  • 打赏
  • 举报
回复
很一般
playking 2002-04-16
  • 打赏
  • 举报
回复
没什么参考价值!
ssm1226 2002-04-16
  • 打赏
  • 举报
回复
抄书.......................
freezwy 2002-04-16
  • 打赏
  • 举报
回复
噫,你也是老乡?
喝两盅,中不中。
julyclyde 2002-04-16
  • 打赏
  • 举报
回复
我们河南都是用foxpro的。呵呵
那天我在电信局查话费就看到foxpro,还是DOS版的
freezwy 2002-04-16
  • 打赏
  • 举报
回复
河南的信息化水平还是很低的,这个东西在河南还可以,但是放到CSDN上,就有些不恰当。如果你想有好的结果,建议如下:
1.数据安全的三层结构考虑
2.办公自动化OA与客户关系管理CRM的接口
3.未来供应链管理SCM的觉悟
当然,这些不是摆弄概念,都是实塌实要考虑的呀。
老兄,不瞒你说,我也在河南,哈哈。
julyclyde 2002-04-16
  • 打赏
  • 举报
回复
技术方面太多,没有写出跟行业相关的内容
julyclyde 2002-04-16
  • 打赏
  • 举报
回复
没看出有什么创意来
是不是给电脑盲领导看的啊?

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧