ASP入门基础教程-Connection 对象

2016-02-19 16:20 6 1 收藏

图老师小编精心整理的ASP入门基础教程-Connection 对象希望大家喜欢,觉得好的亲们记得收藏起来哦!您的支持就是小编更新的动力~

【 tulaoshi.com - Web开发 】

  提示:请将符号常量包含文件 adovbs.inc 复制到您的站点主目录上,该文件所在位置:C:Program FilesCommon FilesSystemado (假设您的系统装在C盘下)。该文件包含与ADO一起使用的符号常量的定义清单。

  6-1-1 Connection 对象

  1、Connection 对象简述

  Connection 对象代表了打开的、与数据源的连接,好象在应用程序和数据库中建立了一条数据传输连线,该对象代表与数据源进行的惟一会话。ASP 使用 ADO 对各种数据源进行各种操作,其中,Connection 对象是必不可少的,在这个基础上可以使用 Command 对象及 Recordset 对象来对 Connection 对象所连接的数据库进行插入、删除、更新和查询等操作。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

  2、Connection 对象的常用属性

  Connection 对象的常用属性 表 属 性 描       述 CommandTimeout这义了使用 Execute 方法运行一条 SQL 命令的最长时限,能够中断并产生错误。默认值为30秒,设定为0表示没有限制。ConnectionString设定连接数据源的信息,包括 FlieName、Password、Userld、DataSource、Provider 等参数。 ConnectionTimeout设置在终止尝试和产生错误前建立数据库连接期间所等待的时间,该属性设置或返回指示等待连接打开的时间的长整型值(单位为秒),默认值为15。如果将该属性设置为0,ADO 将无限等待直到连接打开。DefaultDatabase定义连接默认数据库。Mode建立连接之前,设定连接的读写方式,决定是否可更改目前数据。0 一 不设定(默认)、1 一 只读、2 一 只写、3 一 读写。Provider设置连接的数据提供者(数据库管理程序),默认值是 MSDASQL (Microsot-ODBC For OLEDB) State读取当前链接对象的状态,取0表示关闭,1表示打开。

  3、Connection 对象的方法

Connection 对象的方法表二 方  法描述 / 格式 / 注解 Open建立一个与数据源的连接对象。Connobject.Cpen connectionstring,UserID,Password 1、Connectionstring 为可选参数,它是一个字符串变量,包含连接的信息。

  2、UserID 为可选参数,它是一个字符串变量,包含建立连接时访问数据库使用的用户名称。

  3、Password 为可选参数,它是一个字符串变量 ,包含建立连接时访问数据库使用的密码。

Close关闭与数据源的连接,并且释放与连接有关的系统资源。Connobject.close使用 Close 方法关闭 Connection 对象,并没有从内存删除该对象。因此一个关闭的 Connection 对象还可以用 Open 方法打开而不必再次创建一个 Connection 对象。此外,在使用 Close 方法关闭连接时,也将关闭与此连接的所有活动的 Recordset 对象。但是,与此连接相关的 Command 对象将不受影响,只不过 Command 对象不再参与这个连接。可以使用:

  Set Connobject=nothing 命令释放 Connection 对象所占用的所有资源。

Execute执行 SQL 命令或存储过程,以实现与数据库的通信。有返回记录的格式:Set Rs=Connobject.Execute(CommandText,RecordsAffected,Options)

  无返回记录的格式: Connobject.Execute CommandText,RecordsAffected,Options

CommandType 是一个字符串,它包含一个表名,或某个将被执行的 SQL 语句; 

  RecordsetAffected 为可选参数,返回此次操作所影响的记录数。

  Options 为可选参数,用来指定 CommandText 参数的性质,即用来指定 ADO 如何解释 CommandText 参数的参数值,如下表:

Options值意义描述1表示被执行的字符串包含一个命令文本。2表示被执行的字符串包含一个表名。4表示被执行的字符串包含一个存储过程名。8没有指定字符串的内容(这是默认值)BeginTrans开始一个新的事务,即在内存中为事务开辟一片内存缓冲区。CommitTrans提交事务,即把一次事务中所有变动的数据从内存缓冲区一次性地写入硬盘,结束当前事务并可能开始一个新的事务。RollbackTrans回滚事务,即取消开始此次事务以来对数据源的所有操作,并结束本次事务操作。

  4、创建数据库连接步骤如下:

  a) 创建 Connection 对象实例,格式如下:

Set conn=Server.CreateOreateObject("ADODB.Connection")

   b) 指定连接字符串

conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:MardetDatasg1.mdb"
      

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

   或:

  '创建 OLEDB 连接字符串

  

CS="Provider=Microsoft.jet.OLEDB;4.0;Data Source="conn.ConnectionStrin=CS & Server.MapPath("rsgl.mdb")

   注:连接字符串在等号(=)的左右都不包含空格。      

   c) 打开数据库连接

Connobject.Cpen connectionstring,UserID,Password

   d) 关闭与数据源的连接

object.Close

   e) 释放 Connection 对象所占用的所有资源

Set Connobject=nothing

  5、Connection对象的方法和属性的简单应用实例

  1)、使用Connection对象的Execute方法在rsgl.mdb数据库中创建一个名为员工基本情况表。其代码如下(etable) :

% @ Language="VBScript" %htmlheadtitle在ASP页面上创建新表/title/headbodydiv align="center"h3在ASP页面上创建新表/h3hr width="50%" color="#cccc99"p正在创建表....../p/div!-- #include virtual ="/adovbs.inc" --%dim cnn,sSQLset cnn=Server.CreateObject("ADODB.Connection")'指定连接字符串,默认数据库为mastercnn.ConnectionString="PROVIDER=Microsoft.jet.OLEDB.4.0;Data Source=" & server.MapPath("rsgl.mdb")cnn.OpensSQL="CREATE table 员工基本情况表(员工姓名 varchar(10),所在部门 varchar(10),家庭住址 varchar(12),家庭电话 varchar(15),Email varchar(20))"'执行create database命令cnn.Execute sSQL,,adCmdTextcnn.Closeset cnn=Nothing%pcenterb创建表成功!/b/center/p/body/html

  2)、(添加记录页面)实例通过一个表单页面(eRs.htm),将数据提交给添加记录处理页面(eRs.asp),在该页面中,通过使用Connection对象的Execute方法执行Insert命令,在表尾添加一个新记录。eRs.htm代码如下:

htmlheadtitle添加记录页面/title/headbodyform name="form1" method="post" action="eRs.asp"table align="center" border="1"trtd colspan="2" align="center"添加记录表/td/trtrtd align="right"员工姓名:/tdtd width="150"input type="text" name="txtname"/td/trtrtd align="right"所在部门:/tdtdinput type="text" name="txtbm"/td/trtrtd align="right"家庭住址:/tdtdinput type="text" name="txtzz"/td/trtrtd align="right"家庭电话:/tdtdinput type="text" name="txtTel"/td/trtrtd align="right"Email:/tdtdinput type="text" name="txtEmail"/td/trtrtd align="center"input type="submit" value="提交"/tdtd align="center"input type="reset" value="全部重写"/td/tr/table/form/html

  eRs.asp页面的代码如下:

htmlheadtitle添加记录页面/title/headbodyform name="form1" method="post" action="eRs.asp"table align="center" border="1"trtd colspan="2" align="center"添加记录表/td/trtrtd align="right"员工姓名:/tdtd width="150"input type="text" name="txtname"/td/trtrtd align="right"所在部门:/tdtdinput type="text" name="txtbm"/td/trtrtd align="right"家庭住址:/tdtdinput type="text" name="txtzz"/td/trtrtd align="right"家庭电话:/tdtdinput type="text" name="txtTel"/td/trtrtd align="right"Email:/tdtdinput type="text" name="txtEmail"/td/trtrtd align="center"input type="submit" value="提交"/tdtd align="center"input type="reset" value="全部重写"/td/tr/table/form/html

  3)、(搜索记录页面)本实例通过Connection对象的Execute方法,执行一条SQL查询语句,并返回一个符合查询条件的记录集对象,然后使用While...Wend循环语句将记录集内的所用记录填写到表格中。其代码如下(eshousho.asp):

% @ Language="VBScript" %htmlheadtitle从数据库表中检索数据/title/headbody!-- #include virtual ="/adovbs.inc" --centerform name="form1" method="post" action="eShousho.asp"select size="1" name="lst"option selected value=""请选择部门/optionoption value="教务处"教务处/optionoption value="英语教研室"英语教研室/optionoption value="语文教研室"语文教研室/optionoption value="数学教研室"数学教研室/optionoption value="财务处"财务处/option/selectinput type="submit" value="提交"/form/center%dim lstlst=trim(request.form("lst"))%%dim cnn,sSQL,rst,iset cnn=Server.CreateObject("ADODB.Connection")set rst=Server.CreateObject("ADODB.Recordset")'指定连接字符串,默认数据库为mastercnn.ConnectionString="PROVIDER=Microsoft.jet.OLEDB.4.0;Data Source=" & server.MapPath("rsgl.mdb")cnn.Openif lst="" thensSQL="select * from 员工基本情况表"elsesSQL="select * from 员工基本情况表 where 所在部门=" & "'" & lst & "'"end if'执行SQL查询命令set rst=cnn.Execute(sSQL,,adCmdText)if rst.eof thenresponse.write "pcenterb没有找到符合条件的记录/b/center/P"else%table align="center" border="1"captionh3从数据库表中检索数据/h3/captiontrth员工姓名/thth所在部门/thth家庭住址/thth家庭电话/ththEmail/th/tr%'使用While...Wend循环语句将记录集内的所用记录填写到表格中。While not rst.EOF%trtd%=rst("员工姓名")%/tdtd%=rst("所在部门")%/tdtd%=rst("家庭住址")%/tdtd%=rst("家庭电话")%/tdtd%=rst("Email")%/td/tr%'移动到记录集内的下一条记录并使该记录成为当前记录。rst.MoveNextWendend ifcnn.Closeset cnn=Nothing%/table/body/html

  4)、(更改记录页面)本实例通过Connection对象的Execute方法,执行一条SQL的Update更新语句,更新指定员工的Email ,并返回一个符合条件的记录集对象,然后给出相应的提示。此页面(eUpdata.asp)的代码如下:

% @ Language="VBScript" %htmlheadtitle更改记录/title/headbody!-- #include virtual ="/adovbs.inc" --!--******************插入一个表单***************--centerform name="form1" method="post" action="eUpdata.asp"请输入员工姓名:input type="text" name="txtname" value=""请输入Email:input type="text" name="txtEmail" value=""input type="submit" value="提交"/form/center%'*******************提取表单中的值**************eEmail=trim(request.form("txtEmail"))name=trim(request.form("txtname"))'*******************开始打开数据库**************dim cnn,sSQLset cnn=Server.CreateObject("ADODB.Connection")set rst=Server.CreateObject("ADODB.Recordset")'指定连接字符串,cnn.ConnectionString="PROVIDER=Microsoft.jet.OLEDB.4.0;Data Source=" & server.MapPath("rsgl.mdb")cnn.Open'**************如果name的值为空,即打开网页,则查询所有的记录,并返回记录集。************if name="" thensSQL1="select * from 员工基本情况表"set rst=cnn.Execute(sSQL1,,adCmdText)%table align="center" border="1"captionh3教师基本情况表/h3/captiontrth员工姓名/thth所在部门/thth家庭住址/thth家庭电话/ththEmail/th/tr%'使用While...Wend循环语句将记录集内的所用记录填写到表格中。While not rst.EOF%trtd%=rst("员工姓名")%/tdtd%=rst("所在部门")%/tdtd%=rst("家庭住址")%/tdtd%=rst("家庭电话")%/tdtd%=rst("Email")%/td/tr%'移动到记录集内的下一条记录并使该记录成为当前记录。rst.MoveNextWend%/table%'********如果name不为空,即txtname文本框中已提交了数值,则按员工姓名进行查询**********elsesSQL1="select * from 员工基本情况表 where 员工姓名='" & name & "'"set rst=cnn.Execute(sSQL1,,adCmdText)'------------如果已查找到记录集的尾部,未找到符合条件的记录,则显示一条提示信息。--------------------if rst.eof thenresponse.write "pcenterb没有找到符合条件的记录/b/center/P"else'-------------否则按表单提交的值修改记录---------------a=rst("Email")sSQL="Update 员工基本情况表 set Email=" & "'" & eEmail & "' where 员工姓名='" & name & "'"'执行Update命令cnn.Execute sSQL,,adCmdTextresponse.write "center" & name & "的Email由原来的" & a & "更改成" & eEmail & "/center"%div align="center"pb更改记录成功!/b/divhr width="50%"%end ifend ifcnn.Closeset cnn=Nothing%/body/html

  5)、(删除记录页面)本实例通过Connection对象的Execute方法,执行一条SQL的删除语句,删除 由员工姓名指定的记录。其代码如下(eDelete.asp):

来源:https://www.tulaoshi.com/n/20160219/1611757.html

延伸阅读
标签: Web开发
1、文件系统对象模型 FileSystemObject 对象模型包括若干对象,可以用于创建、改编、移动和删除文件夹或文件,还可以用于获取文件夹或文件的各种信息。FileSystemObject 对象模型所包含的对象如下表所示: FileSystemObject 对象模型中的对象 表 对象描述 / 语法格式 / 注释 FileSystemObject主要对象,提供一整套用于创建、删除、...
标签: Web开发
1、什么是会话标识 ASP 为每一个用户会话分配了惟一的识别标志。在创建会话时,服务器会为每一个会话生成一个单独的标识,该标识以长整型数据类型返回,并且随用户在 Web 站点上保存着。使用 Session 对象的 SessionID 属性可以返回用户的会话标识,其格式如下: Session.SessionID   SessionID 属性的用...
标签: Web开发
ASP是一个服务器端脚本编写环境,用于创建动态的交互式Web 服务器应用程序。在ASP动态网页中,不仅可以包含服务器端脚本代码,也可以使用 ASP 内建对象和服务器组件,此外还可以包含服务器端文件。 一、在ASP页面中添加服务器端脚本 服务器脚本是一系列指令,用于向Web 服务器发出命令。若要在ASP页面中插入服务端脚本,首先需要...
标签: Web开发
ASP(Active Server Pages)是目前最为流行的开放式的Web服务器应用程序开发技术。使用它可以将HTML语言,脚本语言和Active控件组合一起,产生动态、交互、具有数据库访问功能,且高效率的基于Web的应用程序。 ASP技术的优势主要表现在以下几个方面: ASP运行环境的配置非常方便,只要在Windows平台上安装PWS或IIS,Web服务器与ASP...
标签: Web开发
文件操作主要包括复制、移动和删除文件,检查文件是否存在以及获取文件的属性。完成这些操作可以使用 FileSystemObject 或 File 对象的方法。 一、使用 FileSystemObject 对象的相应方法进行文件操作 1、复制文件:将一个或多个文件复制到其他位置上,语法格式如下: % fso.CopyFile source,destination[,overwrite] % ...

经验教程

353

收藏

32
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部