📄 11618556549903.html
字号:
</h2> </div> <div class="article_ad"><script language="javascript" src="../a_dir_d/ads_250x250.js" tppabs="http://tech.ddvip.com/a_dir_d/ads_250x250.js"></script></div> <div id='clickeye_content'> <div class="article_c" id="fontsize"> <p> 提示:请将符号常量包含文件 adovbs.inc 复制到您的站点主目录上,该文件所在位置:C:Program FilesCommon FilesSystemado (假设您的系统装在C盘下)。该文件包含与ADO一起使用的符号常量的定义清单。</p><p> 6-1-1 Connection 对象</p><p> 1、Connection 对象简述</p><p> Connection 对象代表了打开的、与数据源的连接,好象在应用程序和数据库中建立了一条数据传输连线,该对象代表与数据源进行的惟一会话。ASP 使用 ADO 对各种数据源进行各种操作,其中,Connection 对象是必不可少的,在这个基础上可以使用 Command 对象及 Recordset 对象来对 Connection 对象所连接的数据库进行插入、删除、更新和查询等操作。</p><p> 2、Connection 对象的常用属性</p><p> Connection 对象的常用属性 <表> <table><tr><td>属 性 </td><td>描 述 </td></tr><tr><td>CommandTimeout</td><td>这义了使用 Execute 方法运行一条 SQL 命令的最长时限,能够中断并产生错误。默认值为30秒,设定为0表示没有限制。</td></tr><tr><td>ConnectionString</td><td>设定连接数据源的信息,包括 FlieName、Password、Userld、DataSource、Provider 等参数。 </td></tr><tr><td>ConnectionTimeout</td><td>设置在终止尝试和产生错误前建立数据库连接期间所等待的时间,该属性设置或返回指示等待连接打开的时间的长整型值(单位为秒),默认值为15。如果将该属性设置为0,ADO 将无限等待直到连接打开。</td></tr><tr><td>DefaultDatabase</td><td>定义连接默认数据库。</td></tr><tr><td>Mode</td><td>建立连接之前,设定连接的读写方式,决定是否可更改目前数据。0 一 不设定(默认)、1 一 只读、2 一 只写、3 一 读写。</td></tr><tr><td>Provider</td><td>设置连接的数据提供者(数据库管理程序),默认值是 MSDASQL (Microsot-ODBC For OLEDB) </td></tr><tr><td>State</td><td>读取当前链接对象的状态,取0表示关闭,1表示打开。</td></tr></table></p><p> 3、Connection 对象的方法</p>Connection 对象的方法<表二> <table><tr><td>方 法</td><td>描述 / 格式 / 注解 </td></tr><tr><td rowspan="3">Open</td><td>建立一个与数据源的连接对象。</td></tr><tr><td>Connobject.Cpen connectionstring,UserID,Password </td></tr><tr><td>1、Connectionstring 为可选参数,它是一个字符串变量,包含连接的信息。 <p> 2、UserID 为可选参数,它是一个字符串变量,包含建立连接时访问数据库使用的用户名称。</p><p> 3、Password 为可选参数,它是一个字符串变量 ,包含建立连接时访问数据库使用的密码。</p></td></tr><tr><td rowspan="3">Close</td><td>关闭与数据源的连接,并且释放与连接有关的系统资源。</td></tr><tr><td>Connobject.close</td></tr><tr><td>使用 Close 方法关闭 Connection 对象,并没有从内存删除该对象。因此一个关闭的 Connection 对象还可以用 Open 方法打开而不必再次创建一个 Connection 对象。此外,在使用 Close 方法关闭连接时,也将关闭与此连接的所有活动的 Recordset 对象。但是,与此连接相关的 Command 对象将不受影响,只不过 Command 对象不再参与这个连接。可以使用: <p> Set Connobject=nothing 命令释放 Connection 对象所占用的所有资源。</p></td></tr><tr><td rowspan="4">Execute</td><td>执行 SQL 命令或存储过程,以实现与数据库的通信。</td></tr><tr><td>有返回记录的格式:Set Rs=Connobject.Execute(CommandText,RecordsAffected,Options) <p> 无返回记录的格式: Connobject.Execute CommandText,RecordsAffected,Options</p></td></tr><tr><td>CommandType 是一个字符串,它包含一个表名,或某个将被执行的 SQL 语句; <p> RecordsetAffected 为可选参数,返回此次操作所影响的记录数。</p><p> Options 为可选参数,用来指定 CommandText 参数的性质,即用来指定 ADO 如何解释 CommandText 参数的参数值,如下表: </p></td></tr><tr><td><table><tr><td>Options值</td><td>意义描述</td></tr><tr><td>1</td><td>表示被执行的字符串包含一个命令文本。</td></tr><tr><td>2</td><td>表示被执行的字符串包含一个表名。</td></tr><tr><td>4</td><td>表示被执行的字符串包含一个存储过程名。</td></tr><tr><td>8</td><td>没有指定字符串的内容(这是默认值)</td></tr></table></td></tr><tr><td>BeginTrans</td><td>开始一个新的事务,即在内存中为事务开辟一片内存缓冲区。</td></tr><tr><td>CommitTrans</td><td>提交事务,即把一次事务中所有变动的数据从内存缓冲区一次性地写入硬盘,结束当前事务并可能开始一个新的事务。</td></tr><tr><td>RollbackTrans</td><td>回滚事务,即取消开始此次事务以来对数据源的所有操作,并结束本次事务操作。</td></tr></table><p> 4、创建数据库连接步骤如下:</p><p> a) 创建 Connection 对象实例,格式如下:</p><code>Set conn=Server.CreateOreateObject("ADODB.Connection")</code><p> b) 指定连接字符串</p><code>conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:MardetData
sg1.mdb"</code> </p><p> 或:</p><p> '创建 OLEDB 连接字符串</p><p> <code>CS="Provider=Microsoft.jet.OLEDB;4.0;Data Source="<br />conn.ConnectionStrin=CS & Server.MapPath("rsgl.mdb")</code><p> 注:连接字符串在等号(=)的左右都不包含空格。 </p><p> c) 打开数据库连接</p><code>Connobject.Cpen connectionstring,UserID,Password</code><p> d) 关闭与数据源的连接</p><code>object.Close</code><p> e) 释放 Connection 对象所占用的所有资源</p><code>Set Connobject=nothing</code><p> 5、Connection对象的方法和属性的简单应用实例</p><p> 1)、使用Connection对象的Execute方法在rsgl.mdb数据库中创建一个名为“员工基本情况表”。其代码如下(etable) :</p><code><% @ Language="VBScript" %><br /><html><br /><head><br /><title>在ASP页面上创建新表</title><br /></head><br /><body><br /><div align="center"><br /><h3>在ASP页面上创建新表</h3><br /><hr width="50%" color="#cccc99"><br /><p>正在创建表......</p><br /></div><br /><!-- #include virtual ="/adovbs.inc" --><br /><%<br />dim cnn,sSQL<br />set cnn=Server.CreateObject("ADODB.Connection")<br />'指定连接字符串,默认数据库为master<br />cnn.ConnectionString="PROVIDER=Microsoft.jet.OLEDB.4.0;Data Source=" & server.MapPath("rsgl.mdb")<br />cnn.Open<br />sSQL="CREATE table 员工基本情况表(员工姓名 varchar(10),所在部门 varchar(10),家庭住址 varchar(12),家庭电话 varchar(15),Email varchar(20))"<br />'执行create database命令<br />cnn.Execute sSQL,,adCmdText<br />cnn.Close<br />set cnn=Nothing<br />%><br /><p><center><b>创建表成功!</b></center></p><br /></body><br /></html></code><p> 2)、(添加记录页面)实例通过一个表单页面(eRs.htm),将数据提交给添加记录处理页面(eRs.asp),在该页面中,通过使用Connection对象的Execute方法执行Insert命令,在表尾添加一个新记录。eRs.htm代码如下:</p><code><html><br /><head><title>添加记录页面</title></head><br /><body><br /><form name="form1" method="post" action="eRs.asp"><br /><table align="center" border="1"><br /><tr><td colspan="2" align="center">添加记录表</td></tr><br /><tr><td align="right">员工姓名:</td><td width="150"><input type="text" name="txtname"></td></tr><br /><tr><td align="right">所在部门:</td><td><input type="text" name="txtbm"></td></tr><br /><tr><td align="right">家庭住址:</td><td><input type="text" name="txtzz"></td></tr><br /><tr><td align="right">家庭电话:</td><td><input type="text" name="txtTel"></td></tr><br /><tr><td align="right">Email:</td><td><input type="text" name="txtEmail"></td></tr><br /><tr><td align="center"><input type="submit" value="提交"></td><td align="center"><input type="reset" value="全部重写"></td></tr><br /></table><br /></form><br /></html></code><p> eRs.asp页面的代码如下:</p><code><html><br /><head><title>添加记录页面</title></head><br /><body><br /><form name="form1" method="post" action="eRs.asp"><br /><table align="center" border="1"><br /><tr><td colspan="2" align="center">添加记录表</td></tr><br /><tr><td align="right">员工姓名:</td><td width="150"><input type="text" name="txtname"></td></tr><br /><tr><td align="right">所在部门:</td><td><input type="text" name="txtbm"></td></tr><br /><tr><td align="right">家庭住址:</td><td><input type="text" name="txtzz"></td></tr><br /><tr><td align="right">家庭电话:</td><td><input type="text" name="txtTel"></td></tr><br /><tr><td align="right">Email:</td><td><input type="text" name="txtEmail"></td></tr><br /><tr><td align="center"><input type="submit" value="提交"></td><td align="center"><input type="reset" value="全部重写"></td></tr><br /></table><br /></form><br /></html></code><p> 3)、(搜索记录页面)本实例通过Connection对象的Execute方法,执行一条SQL查询语句,并返回一个符合查询条件的记录集对象,然后使用While...Wend循环语句将记录集内的所用记录填写到表格中。其代码如下(eshousho.asp):</p><code><% @ Language="VBScript" %><br /><html><br /><head><br /><title>从数据库表中检索数据</title><br /></head><br /><body><br /><!-- #include virtual ="/adovbs.inc" --><br /><center><br /><form name="form1" method="post" action="eShousho.asp"><br /><select size="1" name="lst"><br /><option selected value="">请选择部门</option><br /><option value="教务处">教务处</option><br /><option value="英语教研室">英语教研室</option><br /><option value="语文教研室">语文教研室</option><br /><option value="数学教研室">数学教研室</option><br /><option value="财务处">财务处</option><br /></select><br /><input type="submit" value="提交"><br /></form><br /></center><br /><%<br />dim lst<br />lst=trim(request.form("lst"))<br />%><br /><%<br />dim cnn,sSQL,rst,i<br />set cnn=Server.CreateObject("ADODB.Connection")<br />set rst=Server.CreateObject("ADODB.Recordset")<br />'指定连接字符串,默认数据库为master<br />cnn.ConnectionString="PROVIDER=Microsoft.jet.OLEDB.4.0;Data Source=" & server.MapPath("rsgl.mdb")<br />cnn.Open<br />if lst="" then<br />sSQL="select * from 员工基本情况表"<br />else<br />sSQL="select * from 员工基本情况表 where 所在部门=" & "'" & lst & "'"<br />end if<br />'执行SQL查询命令<br />set rst=cnn.Execute(sSQL,,adCmdText)<br />if rst.eof then<br />response.write "<p><center><b>没有找到符合条件的记录</b></center></P>"<br />else<br />%><br /><table align="center" border="1"><br /><caption><h3>从数据库表中检索数据</h3></caption><br /><tr><th>员工姓名</th><th>所在部门</th><th>家庭住址</th><th>家庭电话</th><th>Email</th></tr><br /><%<br />'使用While...Wend循环语句将记录集内的所用记录填写到表格中。<br />While not rst.EOF<br />%><br /><tr><td><%=rst("员工姓名")%></td><td><%=rst("所在部门")%></td><td><%=rst("家庭住址")%></td><td><%=rst("家庭电话")%></td><td><%=rst("Email")%></td></tr><br /><%<br />'移动到记录集内的下一条记录并使该记录成为当前记录。<br />rst.MoveNext<br />Wend<br />end if<br />cnn.Close<br />set cnn=Nothing<br />%><br /></table><br /></body><br /></html></code><p> 4)、(更改记录页面)本实例通过Connection对象的Execute方法,执行一条SQL的Update更新语句,更新指定员工的Email ,并返回一个符合条件的记录集对象,然后给出相应的提示。此页面(eUpdata.asp)的代码如下:</p><code><% @ Language="VBScript" %><br /><html><br /><head><br /><title>更改记录</title><br /></head><br /><body><br /><!-- #include virtual ="/adovbs.inc" --><br /><!--******************插入一个表单***************--><br /><center><br /><form name="form1" method="post" action="eUpdata.asp"><br />请输入员工姓名:<br /><input type="text" name="txtname" value=""><br />请输入Email:<br /><input type="text" name="txtEmail" value=""><br /><input type="submit" value="提交"><br /></form><br /></center><br /><%<br />'*******************提取表单中的值**************<br />eEmail=trim(request.form("txtEmail"))<br />name=trim(request.form("txtname"))<br />'*******************开始打开数据库**************<br />dim cnn,sSQL<br />set cnn=Server.CreateObject("ADODB.Connection")<br />set rst=Server.CreateObject("ADODB.Recordset")<br />'指定连接字符串,<br />cnn.ConnectionString="PROVIDER=Microsoft.jet.OLEDB.4.0;Data Source=" & server.MapPath("rsgl.mdb")<br />cnn.Open<br />'**************如果name的值为空,即打开网页,则查询所有的记录,并返回记录集。************<br />if name="" then<br />sSQL1="select * from 员工基本情况表"<br />set rst=cnn.Execute(sSQL1,,adCmdText)<br />%><br /><table align="center" border="1"><br /><caption><h3>教师基本情况表</h3></caption><br /><tr><th>员工姓名</th><th>所在部门</th><th>家庭住址</th><th>家庭电话</th><th>Email</th></tr><br /><%<br />'使用While...Wend循环语句将记录集内的所用记录填写到表格中。<br />While not rst.EOF<br />%><br /><tr><td><%=rst("员工姓名")%></td><td><%=rst("所在部门")%></td><td><%=rst("家庭住址")%></td><td><%=rst("家庭电话")%></td><td><%=rst("Email")%></td></tr><br /><%<br />'移动到记录集内的下一条记录并使该记录成为当前记录。<br />rst.MoveNext<br />Wend<br />%><br /></table><br /><%<br />'********如果name不为空,即txtname文本框中已提交了数值,则按员工姓名进行查询**********<br />else<br />sSQL1="select * from 员工基本情况表 where 员工姓名='" & name & "'"<br />set rst=cnn.Execute(sSQL1,,adCmdText)<br />'------------如果已查找到记录集的尾部,未找到符合条件的记录,则显示一条提示信息。--------------------<br />if rst.eof then<br />response.write "<p><center><b>没有找到符合条件的记录</b></center></P>"<br />else<br />'-------------否则按表单提交的值修改记录---------------<br />a=rst("Email")<br />sSQL="Update 员工基本情况表 set Email=" & "'" & eEmail & "' where 员工姓名='" & name & "'"<br />'执行Update命令<br />cnn.Execute sSQL,,adCmdText<br />response.write "<center>" & name & "的Email由原来的" & a & "更改成" & eEmail & "</center>"<br />%><br /><div align="center"><p><b>更改记录成功!</b></div><br /><hr width="50%"><br /><%<br />end if<br />end if<br />cnn.Close<br />set cnn=Nothing<br />%><br /></body><br /></html></code><p> 5)、(删除记录页面)本实例通过Connection对象的Execute方法,执行一条SQL的删除语句,删除 由员工姓名指定的记录。其代码如下(eDelete.asp):</p><code><% @ Language="VBScript" %><br /><html><br /><head><br /><title>删除记录</title><br /></head><br /><body><br /><!-- #include virtual ="/adovbs.inc" --><br /><form name="form1" method="post" action="eDelete.asp"><br /><input type="text" name="txtname" value="请输入员工姓名"><br /><input type="submit" value="提交"><br /></form><br /><%<br />name=trim(request.form("txtName"))<br />dim cnn,sSQL<br />set cnn=Server.CreateObject("ADODB.Connection")<br />'指定连接字符串,<br />cnn.ConnectionString="PROVIDER=Microsoft.jet.OLEDB.4.0;Data Source=" & server.MapPath("rsgl.mdb")<br />cnn.Open<br />sSQL="Delete from 员工基本情况表 where 员工姓名='" & name & "'"<br />'向服务器发送Delete 语句。<br />cnn.Execute sSQL,,adCmdText<br />response.write "<center>" & name & "的记录已被删除</center>"<br />cnn.Close<br />set cnn=Nothing<br />%><br /><div align="center"><p><b>删除记录成功!</b></p><br /><hr width="50%"><br /></div><br /></body><br /></html></code><p> <img src="../../img.ddvip.com/2006_10/1161805175_ddvip_239.gif" tppabs="http://img.ddvip.com/2006_10/1161805175_ddvip_239.gif" onclick="get_larger(this)" /><a href="11618046459861.html" tppabs="http://tech.ddvip.com/2006-10/11618046459861.html" target="_blank">查看全套"ASP入门基础"教程>>>>></a></p> </div> </div> <!-- 分页 --> <!-- 分页end --><p style="color:#000000; font-size:12px; text-align:right; padding-right:4px;">作者:含笑 责编:豆豆技术应用</p> <div id="art_content_end_468x60"><script src="../a_dir_d/ads_468x60.js" tppabs="http://tech.ddvip.com/a_dir_d/ads_468x60.js"></script></div> </div> <div class="related"> <div class="relatedtop">与“ASP入门基础教程-Connection 对象”相关的文章</div> <ul> <li>暂无相关文章</li> </ul> </div> <div class="clear"></div> <div class="related"> <div class="relatedtop">本栏目更新</div> <ul> <li><a href="javascript:if(confirm('http://tech.ddvip.com/2008-09/122111675163590.html \n\n该文件无法用 Teleport Pro 下载, 因为 它是一个域或路径外部被设置为它的启始地址的地址。 \n\n你想在服务器上打开它?'))window.location='http://tech.ddvip.com/2008-09/122111675163590.html'" tppabs="http://tech.ddvip.com/2008-09/122111675163590.html">实例讲解Access数据库在线压缩的实现方法</a></li> <li><a href="javascript:if(confirm('http://tech.ddvip.com/2008-09/122111657963584.html \n\n该文件无法用 Teleport Pro 下载, 因为 它是一个域或路径外部被设置为它的启始地址的地址。 \n\n你想在服务器上打开它?'))window.location='http://tech.ddvip.com/2008-09/122111657963584.html'" tppabs="http://tech.ddvip.com/2008-09/122111657963584.html">asp将数据导入excel后,中文出现乱码?怎么解决?</a></li> <li><a href="javascript:if(confirm('http://tech.ddvip.com/2008-09/122111639763578.html \n\n该文件无法用 Teleport Pro 下载, 因为 它是一个域或路径外部被设置为它的启始地址的地址。 \n\n你想在服务器上打开它?'))window.location='http://tech.ddvip.com/2008-09/122111639763578.html'" tppabs="http://tech.ddvip.com/2008-09/122111639763578.html">用ASP实现从SQL Server导出数据到Access或Excel文件</a></li> <li><a href="javascript:if(confirm('http://tech.ddvip.com/2008-09/122111628863575.html \n\n该文件无法用 Teleport Pro 下载, 因为 它是一个域或路径外部被设置为它的启始地址的地址。 \n\n你想在服务器上打开它?'))window.location='http://tech.ddvip.com/2008-09/122111628863575.html'" tppabs="http://tech.ddvip.com/2008-09/122111628863575.html">ASP实现SQL语句日期格式的加减运算</a></li> <li><a href="javascript:if(confirm('http://tech.ddvip.com/2008-09/122111609963571.html \n\n该文件无法用 Teleport Pro 下载, 因为 它是一个域或路径外部被设置为它的启始地址的地址。 \n\n你想在服务器上打开它?'))window.location='http://tech.ddvip.com/2008-09/122111609963571.html'" tppabs="http://tech.ddvip.com/2008-09/122111609963571.html">初学ASP编程易犯的一个错误要注意</a></li> <li><a href="javascript:if(confirm('http://tech.ddvip.com/2008-09/122111590263567.html \n\n该文件无法用 Teleport Pro 下载, 因为 它是一个域或路径外部被设置为它的启始地址的地址。 \n\n你想在服务器上打开它?'))window.location='http://tech.ddvip.com/2008-09/122111590263567.html'" tppabs="http://tech.ddvip.com/2008-09/122111590263567.html">用asp获取文件md5值</a></li> <li><a href="javascript:if(confirm('http://tech.ddvip.com/2008-09/122111543363561.html \n\n该文件无法用 Teleport Pro 下载, 因为 它是一个域或路径外部被设置为它的启始地址的地址。 \n\n你想在服务器上打开它?'))window.location='http://tech.ddvip.com/2008-09/122111543363561.html'" tppabs="http://tech.ddvip.com/2008-09/122111543363561.html">ASP、PHP与javascript根据时段切换CSS皮肤的代码</a></li> <li><a href="javascript:if(confirm('http://tech.ddvip.com/2008-08/121947667357363.html \n\n该文件无法用 Teleport Pro 下载, 因为 它是一个域或路径外部被设置为它的启始地址的地址。 \n\n你想在服务器上打开它?'))window.location='http://tech.ddvip.com/2008-08/121947667357363.html'" tppabs="http://tech.ddvip.com/2008-08/121947667357363.html">ASP程序中输出Excel文件实例一则</a></li> <li><a href="javascript:if(confirm('http://tech.ddvip.com/2008-06/121303371945462.html \n\n该文件无法用 Teleport Pro 下载, 因为 它是一个域或路径外部被设置为它的启始地址的地址。 \n\n你想在服务器上打开它?'))window.location='http://tech.ddvip.com/2008-06/121303371945462.html'" tppabs="http://tech.ddvip.com/2008-06/121303371945462.html">用ASP实现IE地址栏参数的判断</a></li> <li><a href="javascript:if(confirm('http://tech.ddvip.com/2008-03/120656151643714.html \n\n该文件无法用 Teleport Pro 下载, 因为 它是一个域或路径外部被设置为它的启始地址的地址。 \n\n你想在服务器上打开它?'))window.location='http://tech.ddvip.com/2008-03/120656151643714.html'" tppabs="http://tech.ddvip.com/2008-03/120656151643714.html">国内ASP应用,不容乐观</a></li> </ul> </div> <div class="clear"></div> <!-- 评论开始 --> <div id="cmtline"> <div class="cltop"><a href="#showcomment" onclick="document.getElementById('cmts').style.display='block'">点击发表评论</a></div> <div id = "cmts" class="clcmt" style="display:none;"> <form method=post name="comment_form" id="comment_form" target="post_target"> <input name="rid" type="hidden" id="rid" value=""> <div> 网友昵称:<input type="text" name="user" size="14" />
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -