en("DSN=dsnname;UID=userID;PWD=password")'打开链接。dsnname为数据源名;userID为用户名;password为用户口令。
③创建数据对象ADO中的数据对象通常保存的是查询结果。RecordSet是ADO中最复杂的对象,有许多属性和方法,灵活运用,可以达到许多好的效果。其创建方法如下:SetRecordSet=Connect.Execute(sqtStr)'创建并打开了对象RecordSet,sqtStr是一个串,代表一条标准的SQL语句。例如:sqlStr="SELECT*FROMb1"SetRecordSet=Connect.Execute(sqlStr)这条语句执行后,对象RecordSet中就保存了b1中的所有记录。
④操作数据库可利用Execute方便地执行数据的插入、修改、删除等操作。如执行插入操作:sqlStr="InsertIntob1Values(1,2)"Connect.Execute(sqlStr)
⑤关闭数据对象和链接在使用了ADO对象之后,一定要关闭数据对象和链接。在ASP中通过调用方法close实现关闭。关闭创建的数据对象:RecordSet.closeSetRecordSet=Nothing关闭创建的链接对象:Connect.closeSetConnect=Nothing完整的程序片段:<%SetConnect=Server.CreateObject("ADODB.Connection")'产生组件实例Connect.Open("DSN=dsnname;UID=userID;PWD=password")'连接数据库SQL=select*fromtablenameSetRS=Connect.Execute(SQL)'执行查询%><%DoWhileNotRS.EOF%>'显示结果<%=RS(fieldname)%><%Rs.MoveNextLoop%>上述是用ASP访问数据库的全过程,由于应用面向对象思想,所有操作都比较简单,用户需要注意的仅是对数据结构的了解、当前所操作的对象及对象的属性等等,只要对这些有了清晰的认识,再加上ASP强大功能,在网络上使用数据库,实现用户与页面间交换信息,就再也不是什么难事了。
随着Web技术的发展,基于Intranet的电子商务系统无疑较传统商务有着更大的应用前景,如何提务系高这种电子商统中的数据访问效率及事务处理能力仍是当前人们所关注的问题。
3.2SQL语句介绍
SQL全称是"结构化查询语言(StructuredQueryLanguage)",最早的是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEMR开发的一种查询语言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言,得到了广泛的应用。如今无论是像Oracle,Sybase,Informix,SQLserver这些大型的数据库管理系统,还是像VisualFoxporo,PowerBuilder这些微机上常用的数据库开发系统,都支持SQL语言作为查询语言。
StructuredQueryLanguage包含4个部分:
>数据查询语言DQL-DataQueryLanguageSELECT
>据操纵语言DQL-DataManipulationLanguageINSERT,UPDATE,DELETE
>数据定义语言DQL-DataDefinitionLanguageCREATE,ALTER,DROP
>数据控制语言DQL-DataControlLanguageCOMMITWORK,ROLLBACKWORK
3.2.1SQL的优点
SQL广泛地被采用正说明了它的优点。它使全部用户,包括应用程序员、DBA管理员和终端用户受益非浅。
1.非过程化语言
SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。SQL允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集。所有SQL语句接受集合作为输入,返回集合作为输出。SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入。SQL不要求用户指定对数据的存放方法。这种特性使用户更易集中精力于要得到的结果。所有SQL语句使用查询优化器,它是RDBMS的一部分,由它决定对指定数据存取的最快速度的手段。查询优化器知道存在什么索引,哪儿使用合适,而用户从不需要知道表是否有索引,表有什么类型的索引。
2.统一的语言
SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、应用程序员、决策支持系统人员及许多其它类型的终端用户。基本的SQL命令只需很少时间就能学会,最高级的命令在几天内便可掌握。SQL为许多任务提供了命令,包括:
>查询数据
>在表中插入、修改和删除记录
>建立、修改和删除数据对象
>控制对数据和数据对象的存取
>保证数据库一致性和完整性
以前的数据库管理系统为上述各类操作提供单独的语言,而SQL将全部任务统一在一种语言中。
3.是所有关系数据库的公共语言
由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS转到另一个。所有用SQL编写的程序都是可以移植的。SQL是PostgreSQL(和大多数其它关系型数据库)用做查询语言的语言。它是可以移植的,并且容易学习使用。但是所有SQL语句都必须由数据库服务器独立地执行。这就意味着客户端应用必须把每条查询发送到数据库服务器,等待它处理这个查询,接收结果,做一些运算,然后给服务器发送另外一条查询。所有这些东西都会产生进程间通讯,并且如果客户端在另外一台机器上甚至还会导致网络开销。如果使用了PL/pgSQL,那么可以把一块运算和一系列查询在数据库服务器里面组成一个块,这样就拥有了过程语言的力量并且简化SQL的使用,因而节约了大量的时间,因为用不着付出客户端/服务器通讯的过热。通过使用PL/pgSQL,应用可以获得可观的性能提升。
3.2.2SQL的使用
1.ASP与Access数据库连接:
<%@language=VBscript%>
<%
dimconn,mdbfile
mdbfile=server.mappath("数据库名称.mdb")
setconn=server.createobject("adodb.connection")
conn.open"driver={microsoftaccessdriver
(*.mdb)};uid=admin;pwd=数据库密码;dbq="&mdbfile
%>
2.ASP与SQL数据库连接:
<%@language=VBscript%>
<%
dimconn
setconn=server.createobject("ADODB.connection")
conn.open"PROVIDER=SQLOLEDB;DATA
SOURCE=SQL服务器名称或IP地址;UID=sa;PWD=数据库密码;DATABASE=数据库名称
%>
建立记录集对象:
setrs=server.createobject("adodb.recordset")
rs.openSQL语句,conn,3,2
3.SQL常用命令使用方法:
(1)数据记录筛选:
sql="select*from数据表where字段名=字段值orderby字段名[desc]"
sql="select*from数据表where字段名like'%字段值%'orderby字段名[desc]"
sql="selecttop10*from数据表where字段名orderby字段名[desc]"
sql="select*from数据表where字段名in('值1','值2','值3')"
sql="select*from数据表where字段名between值1and值2"
(2)更新数据记录:
sql="update数据表set字段名=字段值where条件表达式"
sql="update数据表set字段1=值1,字段2=值2......字段n=值nwhere条件表达式
(3)删除数据记录:
sql="deletefrom数据表where条件表达式"
sql="deletefrom数据表"(将数据表所有记录删除)
(4)添加数据记录:
sql="insertinto数据表(字段1,字段2,字段3...)values(值1,值2,值3...)"
sql="insertinto目标数据表select*from源数据表"(把源数据表的记录添加到目标数据表)
(5)数据记录统计函数:
AVG(字段名)得出一个表格栏平均值
COUNT(*|字段名)对数据行数的统计或对某一栏有值的数据行数统计
MAX(字段名)取得一个表格栏最大的值
MIN(字段名)取得一个表格栏最小的值
SUM(字段名)把数据栏的值相加
引用以上函数的方法:
sql="selectsum(字段名)as别名from数据表where条件表达式"
setrs=conn.excute(sql)
用rs("别名")获取统的计值,其它函数运用同上。
(5)数据表的建立和删除:
CREATETABLE数据表名称(字段1类型1(长度),字段2类型2(长度)......)
DROPTABLE数据表名称(永久性删除一个数据表)
4.记录集对象的方法:
rs.movenext将记录指针从当前的位置向下移一行
rs.moveprevious将记录指针从当前的位置向上移一行
rs.movefirst将记录指针移到数据表第一行
rs.movelast将记录指针移到数据表最后一行
rs.absoluteposition=N将记录指针移到数据表第N行
rs.absolutepage=N将记录指针移到第N页的第一行
rs.pagesize=N设置每页为N条记录
rs.pagecount根据pagesize的设置返回总页数
rs.recordcount返回记录总数
rs.bof返回记录指针是否超出数据表首端,true表示是,false为否
rs.eof返回记录指针是否超出数据表末端,true表示是,false为否
rs.delete删除当前记录,但记录指针不会向下移动
rs.addnew添加记录到数据表末端
rs.update更新数据表记录
3.3VBScript介绍
MicrosoftVisualBasicScriptingEdition是程序开发语言VisualBasic家族的最新成员,它将灵活的Script应用
上一篇:
基于ASP动态旅游网站设计(元源码)(论文和程序)
下一篇:
关于XX镇中小企业电子商务应用发展趋势的研究