您好,欢迎访问三七文档
如何在ado中使用connection对象什么是connection对象?什么是connection对象?一个connection对象描述了到数据源的物理连接。你可以使用odbc也可以利用oledb来连接数据源。当你打开一个connectiont对象时你就会试图连接数据库。connection对象的state属性会告诉我们连接是否成功。通过connection对象的execute方法向数据源发送sql语句或运行存存储过程。如果你向数据源发送的命令要求数据源返回记录集,那么记录集对象会自动的被创建。当你连接上数据库后你可以关闭connection对象。connection对象的方法和属性有哪些呢?下表列出了connection一些常用的方法。方法描述open打开一个数据源连接close关闭与数据源的连接以及相关的对象execute执行一个相关的查询(sql语名或存储过程,或数据提供者特定文本)begintrans开始一个新事务committrans.保存一些改变或当前的事务目的是为开始一个新事务rollbacktrans取消一些改变在当前事务和结束事务时,目的是开始一个新事务下表列出了一些常用的connection对象的属性。属性描述connectionstring包含建立与数据源的连接的相关信息connectiontimeout显示尝试建立与数据源的连接和产生错误所花去的时间commandtimeout显示在中断一个尝试和返回一个错误前执行该项指令所花去的时间state表明是否与数据源连接上或已关闭或正在连接中provider显示连接提供者的名称version显示ado版本号cursorlocation设定或返回一个提供者光标函数的定值如何利用connection对象连接数据源?用一个connnection对象,只要指定一个connection字符串,目的是用来指定你想要联结的数据源,然后调用open方法来建立链接。通过connectionstring提供的信息用open方法可以非常轻松的建立与数据的连接。如果你决定用connection对象进行工作,那么你可以用它的state属性。如果connection对象被打开了那么它的返回值为adstateopen,如果不是它的返回值为adstateclosed.下面的例子是利用odbc建立与sql的连接。subconnectionexample1()dimcnnasadodb.connectionsetcnn=newadodb.connection用odbc打开连接.cnn.openpubs,sa,检查是否完成连接ifcnn.state=adstateopenthenmsgboxwelcometopubs!elsemsgboxsorry.nopubstoday.endif关闭connection对象cnn.closeendsub如果你只需要连接一个数据源。下面的代码要比上面的简单。作为选择,你可以创建一个connection对象,在调用open方法前你可以先设置connectionstring属性。这种方法容许你连接一个数据源后再重新用这个对象再连接另一个数据源。subconnectionexample2()dimcnnasadodb.connectionsetcnn=newadodb.connection用odbcdsn建立连接cnn.connectionstring=dsn=pubs;uid=sa;pwd=;cnn.open检查是否与数据源建立了连接.ifcnn.state=adstateopenthenmsgboxwelcometopubs!elsemsgboxsorry.nopubstoday.endif关闭connection对象cnn.closeendsub在你对connection对象建立连接前,你可以设置它的其它属性。例如,你可以设置连接超时。subconnectionexample3()dimcnnasadodb.connectionsetcnn=newadodb.connection设置connection属性cnn.connectionstring=dsn=pubs;uid=sa;pwd=;cnn.connectiontimeout=30打开connection对象cnn.open检查是否已经连接上数据源ifcnn.state=adstateopenthenmsgboxwelcometopubs!elsemsgboxsorry.nopubstoday.endif关闭connection对象cnn.closeendsubconnectionstring属性的语法结构假定数据源已经被建立或利用系统管理员的身份使用odbc.不依靠存在的odbc数据源变得流行起来。这样就减轻了安装的负担。下面的例子是一个连接sqlserver的可选择性的方法,仅依靠本身存在的odbcdriver.subconnectionexample4()dimcnnasadodb.connectionsetcnn=newadodb.connection利用引用odbcdriver打开connection对象cnn.connectionstring=driver={sqlserver};&_server=rgreennt;uid=sa;pwd=;database=pubscnn.openfindoutiftheattempttoconnectworked.检查是否已经建立连接ifcnn.state=adstateopenthenmsgboxwelcometopubs!elsemsgboxsorry.nopubstoday.endif关闭connection对象cnn.closeendsub现在odbcdriver有更广的变化,你可以用ado和数据源对话。不久将会有更的的oledb提供者与数据源建立连接。themicrosoft®oledbproviderforodbc是当前ado默认的提供者。你能用不同的提供者设置connection对象的provider属性。subconnectionexample5()dimcnnasadodb.connectionsetcnn=newadodb.connection设置provider属性利用oledbproviderforodbccnn.provider=msdasql用odbcdsn打开connection对象cnn.connectionstring=driver={sqlserver};&_server=rgreennt;uid=sa;pwd=;database=pubscnn.open检查是否连接上数据源ifcnn.state=adstateopenthenmsgboxwelcometopubs!elsemsgboxsorry.nopubstoday.endif关闭connection对象cnn.closeendsub上面的代码设置provider属性不是必须因为ado的默认提供者就是oledbproviderforodbc.这里只是认你知道当你用其它的oledbproviders时如何设置。我如何用connection对象执行command?connnetion的execute方法用来发送一个command(一个sql指令或其它的文本信息)到数据源。如果在sql指令中要求返回几行记录集,一个recordset对象将会被自动的建立。subconnectionexample6()dimcnnasadodb.connectiondimrsasadodb.recordsetsetcnn=newadodb.connection引用odbcdriver建立连接.cnn.connectionstring=driver={sqlserver};&_server=rgreennt;uid=sa;pwd=;database=pubscnn.open执行sql语句创立一个recordset对象.setrs=cnn.execute(select*fromauthors)显示第一个author.msgboxrs(au_fname)&&rs(au_lname)断开连接rs.closeendsub记住用execute返回的recordset是只读的,并且是仅向前光标。如果你需要用recordset物件的更多函数,你首先要创建recordset物件并设置想要设置的属性然后用open方法打开它来执行查询和返回想要得到的光标类型.在下面的例子中,command物件执行删除指令,由于没有数据集需要返回,你不需要额外的用recordset物件.删除了多少行数据?你可以通过recordsaffected参数知道它.subconnectionexample7()dimcnnasadodb.connectiondimrsasadodb.recordsetsetcnn=newadodb.connection引用odbcdriver建立连接cnn.connectionstring=driver={sqlserver};&_server=rgreennt;uid=sa;pwd=;database=pubscnn.open向数据源发送删除指令cnn.execute(deletefromauthorswhereau_id=011-01-0111)检查有多少行数据被删除setrs=cnn.execute(select@@rowcount)显示第一个字段msgboxrs(0)&rowsdeleted关闭连接rs.closeendsub下面的例子,这个command通过指定的存储过程的名字运行数据源的存储过程.由于需要返回数据,所以你必需建立recordset物件。subconnectionexample8()dimcnnasadodb.connectiondimrsasadodb.recordsetsetcnn=newadodb.connection引用odbcdriver来建立连接cnn.connectionstring=driver={sqlserver};&_server=rgreennt;uid=sa;pwd=;database=pubscnn.open建立recordset对象来运行存储过程setrs=cnn.execute(execbyroyalty50)通过循环来显示author的iddowhilenotrs.eofmsgboxrs(au_id)rs.movenextloop断开连接rs.closeendsub文章整理:西部数码本文详细介绍关于详解connection对象与优化的文章专题。在这个数据库连接中。我们使用了session对象,首先,建立一个conn的连接对象,然后连接到数据库data.mdb中,取得连接句柄后,把它保存在session(conn)这个session会话变量中,在打开记录集前,从session(conn)中取出句柄,借助于session对象。我们可以使不同的ASP页面共用一个连接对象,减少了对服务器内存的开销,而我们也不需要担心,当一个客户因为错误操作导致服务器不能析放该被占用的session连接对象,因为我们知道每个客户的session对象是有一定的生存期限的,过了这个期限,服务器就会自动把它析放掉。在ASP的数据库编程中,connection对象是我们不可能离开的一个对象,在对数据库进行任何的操作,比如更新记录,插入,删除,检索等,都必须借助于connection对象来完成。形象地来说,connection对象就是程序于数据库沟通的管道,所有对数据库的操作,都必须经过它,因此,无论我们以何种方式连接数据库前,总是少不了执行下列的代码。Setconn=Server.CreateObject(ADODB.Connection)建立一个connection对象的实例变量,然后在它的基础上建立recorderset对象或是command对象来操作数
本文标题:ASP笔记重点大全
链接地址:https://www.777doc.com/doc-5126888 .html