Connection对象
Ole db 连接数据库
连接sql数据库
<%
Dim ConnStr,myConn,mySQL
ConnStr="Provider=SQLOLEDB;data source=(local);initial catalog=pubs;user id=sa;password=;"
Set myConn=Server.CreateObject ("ADODB.Connection")
Myconn. ConnectionString=ConnStr
myConn.open
%>
连接access数据库
<%
Dim ConnStr,myConn,mySQL
ConnStr="Provider=microsoft.jet.oledb.4.0;data source=" & server.mappath ("../Upload/Upload.mdb")
Set myConn=Server.CreateObject ("ADODB.Connection")
Myconn. ConnectionString=ConnStr
myConn.open
%>
Connection对象除了连接数据库之外,也能够操作数据库,如直接执行sql语句的插入,删除,更新及检索数据。
如:
<%
Dim ConnStr,myConn,mySQL
ConnStr="Provider=SQLOLEDB;data source=(local);initial catalog=pubs;user id=sa;password=;"
Set myConn=Server.CreateObject ("ADODB.Connection")
Myconn. ConnectionString=ConnStr
myConn.open
mySQL="update authors set au_lname='black' where au_id='172-32-1176'"
myConn.execute(mySQL)
response.write "记录更新成功,au_lname=white的被改成black"
%>
RECORDSET对象
Activeconnection属性 指示指定的recordset对象所属的connection对象
Absolutepage属性 指示从1到recordset对象所含页数的长整形值,或者常量;adposunknown,recordset为空,当前位置未知,或者提供者不支持absolutepage属性;adposbof,当前记录指针位于bof:adposeof,当前指针位于eof。
Absoluteposition属性 指示从1到recordset对象所含页数的长整形值,或者指示与absolutepage属性相同常量
Bof,eof,属性 当前记录在recordset对象的第一个位置或最后一个位置
Cursorlocation属性 游标服务的位置,某个常量的长整形值。
Cursortype属性 指示recordset对象使用的游标类型。
Pagecount属性 只读,指示recordset对象包含的数据页数
Pagesize属性 指示recordset中一页所包含的记录数。默认为10
Recordsetcount属性 只读,指示recordset对象中的记录的当前数目
State属性 只读,布儿型,说明recordset对象当前状态是连接,执行或是获取。
Addnew方法 添加新记录
Delete方法 删除当前记录
Move方法 移动recordset对象当前记录的位置,recordset.move n,start n表示要移动的记录数,负数表示向后移动,start表示根据游标中的bookmark移动记录指针,如果不传送这个变量则移动是相对当前记录而言的。当然如果recordset不支持书签,则不能使用。
Movefirst,movelast,moveprevious,movenext方法 移动记录
Open方法 打开游标。
Updata方法 保存对recordset对象的当前记录所做的所有更改
Fields集合 包含recordset对象的所有的field对象
Properties集合 包含recordset对象的所有的property对象
Getrows方法 可以用来从数据源中取数据,并把它放入一个数组中,因此如果想从数据源中取出大量的数据,则这种方法很有用。因为通常数组消耗的资源比recordset小,可以通过下句语法:myarray=recordset.getrows(rows,start,fields),其中三个参数,rows参数将返回数组的行数。如果该变量没有值,那么recordset中所剩下的行都将被取回到数组中。如果把一个书签值传给方法的start变量,那么将从书签开始取出数据放入数组。Fields是定义要取数据的字段。
Cancelupdate方法 取消在调用update方法前所做的一些修改。
具体的例题:
1.通过recordset对象移动数据。
<%
Dim ConnStr,myConn,mySQL,myRec
ConnStr="Provider=SQLOLEDB;data source=(local);initial catalog=pubs; user id=sa;password=;"
set myRec=Server.CreateObject ("ADODB.RecordSet")
myRec.open "select * from authors",ConnStr,1,1 '打开记录集
if not myRec.bof and not myRec.eof then '首先判断有没有记录
response.write "<table border=1>"
'首先输出字段标题,用表格来表示
response.write "<tr><td>记录编号</td><td>姓名</td><td>电话</td><td>地址</td></tr>"
'移动到最后1条记录
myRec.movelast
'输出最后1条记录
response.write "<tr><td>最后1条</td><td>" & myRec("au_fname") & "</td><td>" & myRec("phone") & "</td><td>" & myRec("address") & "</td></tr>"
'移动到倒数第2条记录,通过MovePrevious方法
'移动后要查看是否到了记录的最前头,因为有可能只有一条记录
'所以要用Bof判断
myRec.MovePrevious
if not myRec.Bof then
'输出倒数第2条记录
response.write "<tr><td>倒数第2条</td><td>" & myRec("au_fname") & "</td><td>" & myRec("phone") & "</td><td>" & myRec("address") & "</td></tr>"
end if
'第1条记录
myRec.moveFirst
'输出第1条记录
response.write "<tr><td>第1条</td><td>" & myRec("au_fname") & "</td><td>" & myRec("phone") & "</td><td>" & myRec("address") & "</td></tr>"
'移到下一条
myRec.movenext
'移动到下一条后,要判断是否到了记录的最后头
if not myRec.Eof then
'输出第2条记录
response.write "<tr><td>第2条</td><td>" & myRec("au_fname") & "</td><td>" & myRec("phone") & "</td><td>" & myRec("address") & "</td></tr>"
end if
myBookMark=myRec.bookmark '将第2条记录保存为书签
'输出第10条
'通过Move方法移动到第10条,最好在移动之前判断总体记录数
'判断记录数量可以通过RecordCout方法,在后面例题中会介绍
'注意,move后面的第1个参数是移动的数量,第2个参数是开始移动的位置
'如果不传送第2个参数,则表示的是从当前记录开始移动
'如果要传送,则只能传送书签BookMark
myRec.move 10,myBookMark '前面已经保存了书签,因此是从第2条向后移动10条
'输出后移10条的记录
response.write "<tr><td>后移10条</td><td>" & myRec("au_fname") & "</td><td>" & myRec("phone") & "</td><td>" & myRec("address") & "</td></tr>"
'此时记录已经后移了10条 ,但是如果想快速地回到刚才的第2条,则可以通过使用书签
'因为刚才已经保存第2条为书签
myRec.bookmark=myBookMark
'输出书签保存的记录
response.write "<tr><td>书签记录</td><td>" & myRec("au_fname") & "</td><td>" & myRec("phone") & "</td><td>" & myRec("address") & "</td></tr>"
response.write "</table>"
else
response.write "表格中没有记录!"
end if
myRec.close
set myRec=nothing
%>
2.通过recordcount方法统计记录数量
<%
Dim ConnStr,myConn,mySQL,myRec
ConnStr="Provider=SQLOLEDB;data source=(local);initial catalog=pubs; user id=sa;password=;"
set myRec=Server.CreateObject ("ADODB.RecordSet")
myRec.ActiveConnection=ConnStr
myRec.open "select * from authors",,1,1 '打开记录集
response.write "通过RecordCount属性统计的记录数为:" & myRec.RecordCount
myRec.close '关闭记录集
myRec.open "select count(*) as total from authors",,1,1 '打开记录集
response.write "<br>通过SQL统计的记录数为:" & myRec("total")
myRec.close
set myRec=nothing
%>
3.分页显示记录
<%
Dim ConnStr,myConn,mySQL,myRec,myPage,myPageSize
'首先获得用户的显示参数
'获得要显示的页数
myPage=request.querystring("whichpage") '获得须显示的页数
If myPage="" then '如果为空,则显示第一页
myPage=1
end if
'获得每页的大小,即显示记录的条数
myPageSize=request.querystring("pagesize") '获得每页大小
'如果为空
If myPageSize="" then
myPageSize=5 '如果每页大小为空,则默认为5条记录
end if
ConnStr="Provider=SQLOLEDB;data source=(local);initial catalog=pubs; user id=sa;password=;"
set myRec=Server.CreateObject ("ADODB.RecordSet")
myRec.ActiveConnection=ConnStr
'设定RecordSet的属性
'myRec.cursorlocation=aduseclient
myRec.cachesize=5
myRec.open "select * from authors",,1,3 '打开记录集
'设定分页设置
myRec.movefirst '移动到第1条记录
' 设定每页的大小,显示记录的条数
myRec.pagesize=mypagesize
'总页数
maxcount=cint(myRec.pagecount)
'设定要显示的是第几页
myRec.absolutepage=myPage
'用户记录每页显示的记录数
howmanyrecs=5
response.write "当前页:" & mypage & " 总页数:" & maxcount & "<br>"
response.write "<table border=1>"
'首先输出字段标题,用表格来表示
response.write "<tr><td>作者编号</td><td>电话</td><td>地址</td></tr>"
do while not myRec.eof and cint(howmanyrec)<cint(mypagesize) '表示当前记录不是最后
'输出一条记录
response.write "<tr><td>" & myRec("au_id") & "</td><td>" & myRec("phone") & "</td><td>" & myRec("address") & "</td></tr>"
'接着移动到下一条记录
myRec.movenext '注意一定要使用这个语句,否则会死循环
howmanyrec=howmanyrec+1
loop
response.write "</table>"
'接着显示其他的链接,用户导航到其他页
'首先获得当前网页的路径
scriptname=request.servervariables("script_name")
'循环显示所有的连接
for counter=1 to maxcount
If counter>=10 then
pad=""
end if
ref="<a href='" & scriptname & "?whichpage=" & counter
ref=ref & "&pagesize=" & mypagesize & "'>" & pad & counter & "</a>"
response.write ref & " "
if counter mod 10 = 0 then
response.write "<br>"
end if
next
myRec.close
set myRec=nothing
%>
分享到:
相关推荐
在软件开发中,尤其是涉及到数据库操作时,`Connection`对象和`Recordset`对象是ADO(ActiveX Data Objects)模型中的核心组件。这两个对象在处理数据源与应用程序之间的交互时起到至关重要的作用。 `Connection`...
用ADO对象方法连接前述的Student.mdb数据库,并分别用TextBox等...2)分别设置Connection对象和Recordset对象与已经建立好的Student.mdb数据库建立连接。 3)对Recordset对象,用VB编程方式实施实验要求的相关操作。
Access数据库连接的基本用法 本文档主要介绍了在基于...* ADO对象集中的Connection对象和Recordset对象 * ODBC驱动程序参数的设置 * 锁定类型的选择 * Recordset对象的使用和操作数据库 * 数据库连接的安全性和正确性
连接数据库需要使用ADODB(ActiveX Data Objects)对象,包括Connection对象和Recordset对象。首先,需要添加ADO引用,然后定义Connection对象和Recordset对象。使用Connection对象建立与数据库的连接,并执行SQL...
7. **ASP服务器组件**:包括ADODB(ActiveX Data Objects)组件,如Connection对象、Command对象和Recordset对象,用于数据库交互。 8. **Connection对象**:用于建立和管理与数据库的连接。 9. **Command对象**:...
ADO中最重要的对象有三个:Connection、Command和Recordset,它们分别表示连接对象、命令对象和记录集对象。本压缩文件包含6个文件,3个cpp,3个头文件。完美实现对ADO的封装。
### Connection对象的Execute方法 在数据库编程中,`Connection`对象是与数据库建立连接的关键组件。通过`Connection`对象,可以执行SQL语句、存储过程等操作,从而实现对数据库的读写。其中,`execute`方法是`...
在VB环境中,ADODB提供了Connection对象和Recordset对象,分别用于建立数据库连接和存储查询结果集。 #### Connection对象的创建与配置 在VB代码中,我们首先需要创建一个ADODB.Connection对象实例,然后通过设置...
2. 连接对象与Recordset对象:在VBA中,通过ADO连接到数据库,需要创建和使用Connection对象和Recordset对象。如文件中所示,创建Connection对象的语句为Dim conn As ADODB.Connection,然后用Set conn = New ADODB....
调用存储过程主要有三种方式:通过Command对象、Connection对象和Recordset对象。以下分别介绍这三种方法: 1. **通过Command对象调用存储过程** 在这个例子中,首先创建一个Command对象`MyComm`,然后设置其`...
连接到数据源是进行ADO编程的基础,文档介绍了如何使用Connection对象和Recordset对象,包括创建连接字符串和指定连接属性。这些操作涉及到使用连接字符串(ConnectionString)来指定数据提供者,同时设置必要的连接...
该代码主要包括定义 Connection 对象和 RecordSet 对象、连接字符串、连接 Access 数据库、显示连接状态和对 wzdz 表进行查询操作等步骤。 在 Form_Load() 子过程中,我们首先定义了一个 Connection 对象 cnn 和一...
在ASP中,通过建立Connection对象和Recordset对象,可以实现与数据库的交互。Connection对象用于建立和断开数据库连接,Recordset对象则用于存储查询结果。例如,使用ADODB.Connection对象的Open方法建立连接,然后...
然后,我们需要创建一个Connection对象和Recordset对象。Connection对象负责建立与数据库的连接,而Recordset对象则用来存储查询结果。以下是一个简单的示例代码: ```vb Dim conn As New ADODB.Connection Dim rs ...
在ASP中,开发者通常会用VBScript或JScript编写脚本,与数据库交互则通过ADO(ActiveX Data Objects)组件,如Connection对象和Recordset对象。Connection对象用于建立与数据库的连接,Recordset对象则用于处理查询...
类中包含`_ConnectionPtr`和`_RecordsetPtr`成员,分别代表ADO的Connection对象和Recordset对象。在需要使用数据库的类中,实例化`ADOConn`对象,并在使用前调用`OnInitADOConn()`方法传入连接字符串初始化。 获取...
Adodc包含两个主要部分:Connection对象和Recordset对象。Connection对象负责建立和管理应用程序与数据库之间的连接,而Recordset对象则用于存储从数据库查询到的数据。通过设置Adodc的ConnectionString属性,我们...
- 连接数据库,可能是通过ADO的Connection对象和Recordset对象。 - 执行SQL查询,例如查找特定线路、站点之间的公交信息,或者查询公交时刻表。 - 处理查询结果,可能涉及到数据排序、筛选,甚至计算最佳路线。 - 将...
RecordSet对象是ASP(Active Server Pages)中用于与数据库交互的核心组件之一,它允许开发者从数据库检索和操作数据。RecordSet对象返回一个记录集,这是一个包含查询结果的动态数据结构,类似于一个虚拟的表格,...
在`conn.asp`中,通常会包含ADO(ActiveX Data Objects)对象的设置,如Connection对象和Recordset对象,用于执行SQL语句和处理数据。开发者会在这里编写代码来打开、关闭数据库连接,并执行诸如SELECT、INSERT、...