《ASP数据库编程技术.ppt》由会员分享,可在线阅读,更多相关《ASP数据库编程技术.ppt(81页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第11章章ASP数据库编程技术数据库编程技术11.0ASP访问数据库简介访问数据库简介n在传统的HTML页面中,访问数据库一般是通过公用网关接口(CGI)来实现n开发困难,n大量并发请求时会显著地降低服务器的运行效率nASP(ActiveServerPages)技术实现数据库访问n一种是通过ODBC(OpenDatabaseConnectivity-开放的数据库连接)接口n一种是通过ADO(ActiveXDataObjects)技术。nInternet数据库接口(IDC)n远程数据服务(RDS)11.0.1什么是什么是ODBClODBC是是连连接接数数据据库库的的通通用用驱驱动动程程序序,它
2、它是是微微软软推推出出的的一一种种工工业业标标准准,一一种种开开放放的的独独立立于于厂厂商商的的API应应用用程程序序接接口口,可可以以跨跨平平台台访访问问各各种种个个人人计计算算机机、小小型型机机以以及及主主机机系系统统。也也就就是是说说运运用用ODBC,我我们们可可以以实实现现对对多多种种数数据库的连接。据库的连接。backn1应用程序访问数据库的传统方式应用程序访问数据库的传统方式l2透过ODBC访问数据库的方式11.0.1什么是什么是ODBClODBC使使用用DSN(DataSourceName,数数据据源源名名)定定位位和和标标识识特特定定的的ODBC兼兼容容数数据据库库,将将信信息
3、息从从Web应应用用程程序序传传递递给给数数据据库库。DSN的的意意思思是是“应应用用程程序序用用以以请请求求一一个个连连到到ODBC数数据据源源的的连连接接的的名名字字”,换换句句话话说说,它它是是一一个个代代表表ODBC连连接接的的符符号号。它它隐隐藏藏了了诸诸如如数数据据库库文文件件名名、所所在在目目录录、数数据据库库驱驱动动程程序序、用用户户ID、密密码码等等细细节节。因因此此,当当使使用用一一个个已已建建立立的的连连接接时时,使使用用者者不不用用去去考考虑虑所所要要连连接接的的数数据据库库的的类类型型、数数据据库库的的文文件件名名、存存放放位位置置等等问问题题,只只要要给出它在给出它
4、在ODBC中的中的DSN既数据源名即可。既数据源名即可。11.0.1什么是什么是ODBClDSN有3种类型:u文文件件DSN:这种DSN的细节既描述连接的方式储存在指定文件中。只有有权限存取该文件的用户才能访问该DSN。u系系统统DSN:这种DSN可以被任何登录到系统中的用户使用。u用用户户DSN:这是为特定用户建立的DSN。只有建立这个DSN的用户才能看到并使用它。11.0.2什么是什么是ADOlADO(ActiveDataObject),一个ASP内置服务器对象的数据库访问控件。ADO对象给开发人员提供了一种快捷、简单、高效的数据库访问方法。lADO可以包含在ASP应用程序中来产生对数据库
5、的连接,进而存取和操纵数据库中的表,形成用户实际要使用的数据的集合。lADO几乎兼容各种数据库系统。n利用利用ASP与与ADO访问访问Web数据库数据库lADO对象主要是由七个对象和四个数据集合所组成。七个对象是Connection对象、Command对象、Parameter对象、Recordset对象、Field对象、Property对象、Error对象等,以及Fields数据集合、Properties数据集合、Parameters数据集合和Error数据集合。每一个对象都有大量的属性和方法,如果系统地掌握了这些属性和方法,就能开发出功能更全面、更高级的系统。ADO主要的对象主要的对象1.C
6、onnection对对象象又称连接对象,用于创建ASP程序和指定数据库的连接。在使用任何数据库之前,首先应创建程序与数据库的连接,然后才能对数据库做进一步的操作。2.Command对对象象又称命令对象,负责对数据库提供请求,也就是传递指定的SQL命令。它可以对数据库执行查询,更新、插入和删除等操作。3.Recordset对对象象又称记录集对象,负责浏览与操纵从数据库取得的数据。Recordset对象是最主要的对象。当用Command对象或Connection对象执行查询命令后,就会得到一个Recordset对象,该对象包含满足条件的所有记录。l这三个对象的逻辑关系是,利用Connection对
7、象建立与数据库的连接,然后利用Command对象对数据库执行查询等SQL命令,得到Recordset记录集,最后在Recordset对象中进行具体操作。back11.0.3ACCESS数据库的系统数据库的系统DSN配配置置【ODBC数据源管理器】对话框在桌面上选择在桌面上选择【开始开始】、【设置设置】、【控制面板控制面板】,打开打开【控制面板控制面板】对话框,对话框,双击双击【管理工具管理工具】图标,图标,然后再双击然后再双击【ODBC数据数据源源】图标,打开图标,打开【ODBC数据源管理器数据源管理器】对话框。对话框。选择选择【系统系统DSN】选项卡,单击选项卡,单击【添加添加】按钮,出按钮
8、,出现现【创建新数据源创建新数据源】对话框对话框。11.0.3ACCESS数据库的系统数据库的系统DSN配配置置【创建新数据源】对话框选择名称为选择名称为【MicrosoftAccessDriver(*.mdb)】数数据源驱动程序。单据源驱动程序。单击击【完成完成】。11.0.3ACCESS数据库的系统数据库的系统DSN配配置置【ODBC Microsoft Access安装】对话框 在在【数数据据源源名名】文文本本框框中中填填入入要要配配置置的的DSN的的名名称称,例例如如Mysite。然然后后单单击击【选择选择】按钮。按钮。11.0.3ACCESS数据库的系统数据库的系统DSN配配置置【选
9、择数据库】对话框 选选择择要要作作为为数数据据源源的的数数据据库库。然然后后单单击击【确定确定】按钮。按钮。11.0.3ACCESS数据库的系统数据库的系统DSN配配置置【ODBC数据源管理器】对话框系系统统数数据据源源列列表表中中出出现了现了Mysite。至至此此,ACCESSACCESS数数据据库库MysiteMysite的的 系系 统统 DSNDSN配配置完成。置完成。11.0.4配置配置SQLServer数据库的数据库的DSN在在Web服务器的桌面上服务器的桌面上选择选择【开始开始】、【设置设置】、【控制面板控制面板】,打,打开开【控制面板控制面板】对话框,对话框,双击双击【管理工具管
10、理工具】图标,图标,然后再双击然后再双击【ODBC数据数据源源】图标,打开图标,打开【ODBC数据源管理器数据源管理器】对话框。对话框。2.选择选择【系统系统DSN】选项选项卡,单击卡,单击【添加添加】按钮,按钮,出现出现【创建新数据源创建新数据源】对话框对话框【创建新数据源】对话框11.0.4配置配置SQLServer数据库的数据库的DSN设置数据源名称对话框填入要配置的填入要配置的DSN的名称,的名称,例如例如MySQLsite;在服务;在服务器文本框中输入器文本框中输入SQLServer的服务器名或的服务器名或IP地地址,如果址,如果SQLServer的服的服务器和务器和Web服务器同在
11、一服务器同在一台机器,可选择台机器,可选择Local选选项。单击项。单击【下一步下一步】按钮按钮11.0.4配置配置SQLServer数据库的数据库的DSN【登录】设置对话框 可选择可选择【使用用户输入登使用用户输入登录录ID和密码的和密码的SQLServer验证验证】单选项,这单选项,这时将采用混合方式来验证时将采用混合方式来验证用户;在用户;在【用户用户ID】文文本框中输入管理员用户名本框中输入管理员用户名sa,在,在【密码密码】文本框中文本框中输入输入sa的密码。的密码。11.0.4配置配置SQLServer数据库的数据库的DSN选择数据源对话框 勾选勾选【更改默认的数据库更改默认的数据
12、库为(为(D)】复选框,其下复选框,其下面的列表框变为可选,从面的列表框变为可选,从列表中选择列表中选择site数据库(此数据库(此数据库是准备作为数据源数据库是准备作为数据源的数据库)。的数据库)。以下对话框选择系统默认以下对话框选择系统默认设置即可完成数据源的配设置即可完成数据源的配置。置。11.0.5在在DreamweaverMX中建立数据库连接中建立数据库连接在在DreamweaverMX中中建建立立数数据据库库的的连连接接有有两两种种方方法法,一一种种方方法法是是利利用用在在服服务务器器端端建建立立的的ODBC数数据据源源,另另一一种种方方法是直接写连接数据库的脚本命令,即所谓自定义
13、字符串。法是直接写连接数据库的脚本命令,即所谓自定义字符串。前前一一种种方方法法操操作作简简单单,可可靠靠性性高高,缺缺点点是是当当把把应应用用程程序序移移到到另另一一台台计计算算机机上上时时,要要在在新新计计算算机机上上重重新新配配置置数数据据源源;后后一一种种方方法法脚脚本本的的调调试试较较麻麻烦烦,优优点点是是移移机机时时不不用用重重新新调调试。本节使用第一种方法。试。本节使用第一种方法。11.0.5在在DreamweaverMX中建立数据库连接中建立数据库连接连接数据库快捷菜单 首先在DreamweaverMX定义好一个支持ASP技术的站点。然后在DreamweaverMX的浮动面板中
14、,单击【应用程序】展开按钮,打开【应用程序】控制面板。选择【数据库】选项卡,单击 按钮,出现如图所示快捷菜。单,在快捷菜单中选择【数据源名称(DSN)】。11.0.5在在DreamweaverMX中建立数据库连接中建立数据库连接【数据源名称(DSN)】对话框输入为该连接取的输入为该连接取的名称,如名称,如lj如如果果Dreamweaver MX和和Web服服务务器器不不在在同同一一台台计计算算机机上上就就应应选选择择【使使用用测测试试服服务务器器上上的的DSN】,否否则则选选择择【使使用用本本地地DSN】。选择数据源选择数据源如如果果该该数数据据源源要要求求输输入入用用户户名名和和密密码码,那
15、那么么在在【用用户户名名】文文本本框框和和【密密码码】文文本本框框中中填填写写用用户名和密码。户名和密码。11.0.5在在DreamweaverMX中建立数据库连接中建立数据库连接单击【测试】按钮,如果数据库连接成功,会出现成功创建脚本连接对话框点击新连接前面的加号,可以打开所连接的数据点击新连接前面的加号,可以打开所连接的数据库的结构,至此,数据库连接建立完毕,在以后库的结构,至此,数据库连接建立完毕,在以后页面文件设计中,使用该连接,可以方便地创建页面文件设计中,使用该连接,可以方便地创建动态的、交互式的网页。动态的、交互式的网页。ADO样例l【例例11-1】以下是一个视频网站中某个页面以
16、下是一个视频网站中某个页面的源代码(的源代码(ch9-10.asp),它完成在页面上列),它完成在页面上列出数据库表中所有电影的名称、影片级别及出数据库表中所有电影的名称、影片级别及主要演员的功能。存放这些电影信息的数据主要演员的功能。存放这些电影信息的数据库表名为库表名为filmsllll影视在线lllllllllAhref=filmlist.asp?ID=lllllllllll从ASP页面访问数据库l从ASP文件内部访问数据库的通常途径是:u创建至数据库的ADO连接(ADOconnection)u打开数据库连接u创建ADO记录集(ADOrecordset)u打开记录集(recordset)
17、u从数据集中抽取你所需要的数据u关闭数据集u关闭连接11.1Connection对象对象lConnection对对象象负负责责网网页页应应用用程程序序与与数数据据库库之之间间的的链链接接,建建立立Connection对对象象后后,ASP网网页页才才可可使使用用RecordSet对对象象与与Command对象进行存取数据源的操作。对象进行存取数据源的操作。建立建立Connection对象对象建建立立一一个个Connection对对象象通通常常通通过过调调用用Server对对象象的的CreateObject方法,如下所示:方法,如下所示:SetConn=Server.CreateObject(AD
18、ODB.Connection)上上述述程程序序代代码码建建立立了了一一个个名名为为Conn的的Connection对对象象,使用此对象可进行与数据库的链接操作。使用此对象可进行与数据库的链接操作。对象的方法对象的方法方法说明Open用来建立与数据库的连接Execute进行数据源查询操作Close用于终止程序与数据库之间的链接CommitTrans用来提交事务处理RollbackTrans放弃所有事务处理结果BeginTrans在同一个传送域中打开一个新的事务1.Open方法方法lConnection对象的Open方法主要用来用来建立与数据库的连接,只有用Open方法建立与数据库的连接后,才可以
19、继续进行其它操作。2.Execute方法方法在建立好数据库链接后,可以使用Execute方法进行数据源查询操作。其使用语法为:Setrs=Connection.Execute(Query,Count,Options)其中各个参数的含义为:lQuery(查询)参数包含一个表名或某个将被执行的数据查询信息(SQL语句)。lCount参数指定执行数据查询信息返回所影响的记录数。lOptions参数用于控制Query参数的性质,它有4个值定义Query的类型:(1)abCmdText:此参数值表明将执行的是一个SQL串。(2)abCmdTable:此参值表明Query中的一个表名。(3)abCmdSt
20、oreProc:此参数值表明Execute方法将要执行的是一个数据源知道的存储过程。(4)abCmdUnknown:此参数值表明Query中的命令类型不清楚。3.Close方法方法lClose方法用于终止程序与数据库之间的链接,并且用于释放与链接有关的系统资源。语法示例如下:语句c.Close用于关闭Connection对象,语句set c=nothing释放链接数据所占用的系统资源。11.2 Connection对象的对象的属性属性属性说明Attributes主要用来控制事务处理时的行为CommandTimeout用于设定Execute方法的最长执行时间ConnectionTimeout用于
21、设定Open方法的最长执行时间ConnectionString用于返回一个字符串,此字符串中包含了创建数据源链接时所用的所有信息Mode用于表示链接的写权限DefaultDatabase设定Connection对象连接时的默认数据库Provider返回或设置链接的数据提供者的名字Version查询ADO的版本号11.2 Connection对象的对象的属性属性l11.2.2CommandTimeout属性属性CommandTimeout属性用于设设定定Execute方方法法的的最最长长执执行行时时间间,也就是设定数据源查询操作的时间。属性值为一个长整型变量,默认值为30秒。也可以设置为任意值,
22、如果想让执行Execute方法时没有时间限制,则只需将其值设置为0,如下面程序所示:l11.2.3ConnectionTimeout属性属性ConnectionTimeout属性用于设设定定Open方方法法的的最最长长执执行行时时间间,也就是设定链接数据源的最大链接时间。它并不定义命令的执行时间,只是定义链接数据源时的最长等待时间。其属性值为一个长整型的变量,默认为15秒。如果设置为0,则表示没有时间限制。11.2.4ConnectionString属性属性l利用利用ConnectionString属性可以返回一个字符串,此字符串属性可以返回一个字符串,此字符串中包含了创建数据源链接时所用的所
23、有信息。它可以是系统中包含了创建数据源链接时所用的所有信息。它可以是系统的的DSN,也可以是链接数据源时的所有参数。,也可以是链接数据源时的所有参数。Connection对对象可以接受该属性传过来的象可以接受该属性传过来的5个参数,每个参数之间都要用个参数,每个参数之间都要用”;”号隔开。号隔开。ConnectionString的参数的参数参参数数作作用用DSN定义数据源的名称定义数据源的名称PWD定义访问数据源的口令定义访问数据源的口令UID定义访问数源的用户帐号定义访问数源的用户帐号Provider定义数据提供者定义数据提供者FileName指定数据源的某个特定的文件指定数据源的某个特定的
24、文件11.2.5Mode属性属性lMode属性用于表示链接的写权限。这个属性属性用于表示链接的写权限。这个属性只能在只能在Connection对象没有被打开的情况下进对象没有被打开的情况下进行设置行设置.常常量量值值说说明明Admodeunknow0表示权限还没有设定或表示权限还没有设定或ADO不认不认Admoderead1表示权限为只读方式表示权限为只读方式Admodereadwrite3表示权限为读表示权限为读/写方式写方式Admodesharedenyread4设置此值时,其他用户不能以读方式链接设置此值时,其他用户不能以读方式链接Admodesharedenywrite8设置此值时,其
25、他用户不能以写方式链接设置此值时,其他用户不能以写方式链接Admodeshareexclusive12设置此值时,其他用户不能以读写方式链接设置此值时,其他用户不能以读写方式链接Admodesharedenynone16设置此值时,其他用户不能以任何方式链接设置此值时,其他用户不能以任何方式链接11.3.1连接连接Access数据库数据库11.3.2连接连接SQLServer数据库数据库参数参数所要设的值所要设的值ProviderSqloledb.1DataSource计算机名称计算机名称UserID要联机的用户名称要联机的用户名称Password要联机的用户密码要联机的用户密码Initial
26、Catalog数据库名称数据库名称backSQLServer数据库使数据库使用的参数用的参数11.3.3ASP与其它数据库连接的几种方法与其它数据库连接的几种方法 根据不同的系统需求,以及应用数据量的大小,程序员有可能采用不同的数据库系统,如Sybase或Access等,这里给出几种常用的ADO连接方式。1 ODBC DSN 1 ODBC DSN 连接方式连接方式(1)(1)DSNDSN方式方式 oConn.Open DSN=mySystemDSN;&_ oConn.Open DSN=mySystemDSN;&_ Uid=myUsername;&_ Uid=myUsername;&_ Pwd=
27、myPassword Pwd=myPassword“(2)(2)文件文件DSN DSN oConn.Open FILEDSN=c:somepathmydb.dsn;&_ oConn.Open FILEDSN=c:somepathmydb.dsn;&_ Uid=myUsername;&_ Uid=myUsername;&_ Pwd=myPassword Pwd=myPassword 2 ODBC DSN LESS 2 ODBC DSN LESS 连接方式连接方式(1)(1)ODBC Driver for Access ODBC Driver for Access oConn.Open Drive
28、r=Microsoft Access Driver(*.mdb);&_ Dbq=c:somepathmydb.mdb;&_ Uid=admin;&_ Pwd=其中,Dbq直接设定Access数据库的真实路径文件名。也可以使用Server.MapPath(数据库文件名)以取得数据库的真实路径文件,如下:oConn.Open Driver=Microsoft Access Driver(*.mdb);&_ Dbq=Server.MapPath(mydb.mdb);(2)ODBCDriverforExceloConn.OpenDriver=MicrosoftExcelDriver(*.xls);&_
29、DriverId=1190;&_Dbq=c:somepathmySpreadsheet.xls;&_DefaultDir=c:somepath将Excel911或Excel2000生成的XLS文件(book)看成一个数据库,其中的每一个工作表(sheet)看成数据库表。3 OLE DB Providers方法方法(1)OLEDBconnectionforAccessoConn.OpenProvider=Microsoft.Jet.OLEDB.4.0;&_DataSource=c:somepathdbname.mdb;&_UserId=myUsername;&_Password=myPasswo
30、rd(2)OLEDBProviderforEXCEL:oConn.OpenProvider=Microsoft.Jet.OLEDB.4.0;&_DataSource=C:MyExcel.xls;ExtendedProperties=Excel9.0;HDR=Yes;11.4Recordset对象对象lRecordset对象又称记录集对象,是最主要的对象。当用对象又称记录集对象,是最主要的对象。当用Command对象或对象或Connection对象执行查询命令后,就会得对象执行查询命令后,就会得到一个记录集对象,该记录集包含满足条件的所有记录。到一个记录集对象,该记录集包含满足条件的所有记录。l
31、在使用Recordset对象前,必须先利用Connection对象链接数据库。Recordset对象用于存储对数据库进行查询后返回的记录集。l使用Recordset对象前,先要利用Server对象的CreateObject方法建立Recordset对象,其使用语法如下:l建立名为rs 的Recordset对象后,便可以使用Recordset对象的方法对数据库文件进行各种操作。记录集结构图BOFEOF记录1记录1记录2记录3记录N后前记录指针记录指针当前记录当前记录1、利用、利用Connection对象的对象的Execute方法建立方法建立建立建立Recordset对象的几种方法:对象的几种方法
32、:2、利用、利用Connection对象的对象的Execute方法的另一种形式方法的另一种形式3、直接建立、直接建立Recordset back建立建立Recordset对象的几种方法:对象的几种方法:RecordSet对象数据的读取llShowTablesaleslllllFields.Count是记录集的字段数ll显示字段名llll显示字段的值lllll显示记录显示记录l l%lset conn=Server.CreateObject(ADODB.Connection)lconn.Provider=Microsoft.Jet.OLEDB.4.0 lconn.Open(Server.Mapp
33、ath(/db/northwind.mdb)lset rs=Server.CreateObject(ADODB.recordset)lrs.Open Select*from Customers,conn ldo until rs.EOFl for each x in rs.Fields lResponse.Write(x.name)l Response.Write(=)lResponse.Write(x.value&)lnext lResponse.Write()lrs.MoveNextl loop lrs.close lconn.close l%l 在在HTML表格中显示记录表格中显示记录l
34、 ll ll l l l l l Recordset对象的方法对象的方法方法方法说明说明Open打开记录集打开记录集Close关闭当前的关闭当前的Recordset对象对象Requery重新打开记录集重新打开记录集MoveFirst移动到第一条记录移动到第一条记录MovePrevious移动到上一条记录移动到上一条记录MoveNext移动到下一条记录移动到下一条记录MoveLast移动到最后一条记录移动到最后一条记录Move移动到指定记录移动到指定记录AddNew添加新记录添加新记录Delete删除当前记录删除当前记录Update更新数据库数据更新数据库数据CancelUpdate取消数据更新
35、取消数据更新GetRows从记录集中取得多行数据从记录集中取得多行数据Resync与数据服务器同步更新与数据服务器同步更新4月月28号号复习复习l什么是ODBC,其主要功能是什么?(P36)lDNS有哪三种类型?lADO三个最主要的对象是什么,它们之间有什么逻辑关系?(P11)l如何使用ADO连接Acess和SQLserver数据库?(P4142)l掌握使用Connection对象的excute方法建立recordset对象(P50)系统,用户,文件Recordset对象的属性对象的属性属性属性说明说明SourceCommand对象名或对象名或SQL语句或数据表名语句或数据表名ActiveCo
36、nnectionConnection对象名或包含数据库连接信息的字符串对象名或包含数据库连接信息的字符串CursortypeRecordset对象记录集中的指针类型对象记录集中的指针类型LocktypeRecordset对象的使用类型对象的使用类型MaxRecords控制从服务器取得的记录集的最大记录数目控制从服务器取得的记录集的最大记录数目CursorLocation控制数据处理的位置,客户端还是服务器端控制数据处理的位置,客户端还是服务器端Filter控制欲显示的内容控制欲显示的内容RecordCount记录集的总数记录集的总数Bof记录集的开头记录集的开头Eof记录集的结尾记录集的结尾P
37、ageSize用于设置数据分页显示时每一页的记录数用于设置数据分页显示时每一页的记录数PageCount用于设置数据分页显示时数据页的总数用于设置数据分页显示时数据页的总数AbsolutePage用于设置当前指针所在的数据页用于设置当前指针所在的数据页AbsolutePosition用于设置当前指针所在的记录行用于设置当前指针所在的记录行1 Recordset对象的对象的Open方法方法lOpen方法用来打开记录集。其使用语法为:Recordset对象对象.OpenSource,Activeconnection,CursorType,LockType,Options参参数数说说明明默默认认值值
38、Source可可以以是是Command对对象象名名、数数据据查查询询字符串或数据库中的表名字符串或数据库中的表名采采用用保保存存在在RecordSet对对象中的象中的Source属性属性ActiveConnection可可以以是是Connection对对象象或或数数据据库库链链接接信息字符串信息字符串CursorType设设定定的的所所有有可可能能值值都都与与Recordset对对象象的的CyrsorType属性设定相同属性设定相同采采 用用 CursorType属属 性性 的的AdOpenForwardOnly值值LockType设设定定的的所所有有可可能能值值均均与与RecordSet对对
39、象象的的LockType属性设定相同属性设定相同采采 用用 LockTypea属属 性性 为为AdLockReadOnly值值Options用用 于于 告告 之之 数数 据据 提提 供供 者者 如如 何何 处处 理理RecordSetSource中的信息中的信息采采 用用 Options参参 数数 的的AdCmdUnknown例例l在Web页中列出数据库表sales的GoodsName域,要求显示顺序从最后一条记录开始直至第一条记录为止lllBackWardll%lSetConn=Server.CreateObject(ADODB.Connection)lSetRS=Server.Create
40、Object(ADODB.RecordSet)lConn.OpenMyDatal打开记录集时,将指定游标的类型为adOpenStatic,可在记录集中前向或后向移动lRS.OpenSELECT*FROMsales,Conn,adOpenstaticlRS.MoveLast移向最后一个记录lWhileNotRS.BOFlReponse.Write(&RS(GoodsName)lRS.Move.Previous移向前一记录lWendlRS.CloselConn.Closel%l【例例】在数据库表在数据库表sales中插入一中插入一条新记录条新记录lllInsertaRecordllll2.移动记录
41、指针移动记录指针lRecordSet对象的MoveFirst方法、Movelast方法、MovePrevious方法和Move方法主要用于在RecordSet中移动记录指针:1MoveFrist方法方法MoveFrist方法用于把RecordSet中的记录指针移动到第一行记录。语法:RecordSet对象.MoveFirst2MoveLast方法方法Movelast方法用于把RecordSet中的记录指针移到最后一行记录。语法:RecordSet对象.Movelast2.移动记录指针移动记录指针lRecordSet对象的MoveFirst方法、Movelast方法、MovePrevious方法
42、和Move方法主要用于在RecordSet中移动记录指针:3MoveNext方法方法MoveNext方 法 用 于 记 录 指 针 移 到 下 一 行 记 录,须 使 用RecordSet.EOF判断一下记录指针是否到了尾记录。语法:RecordSet对象.MoveNext4MovePrevious方法方法MovePrevioust方法用于记录指针移到上一行记录,必须使用RecordSet.BOF判断一下记录指针是否到了首记录,。语法:RecordSet对象.MovePrevious4.更新与增删数据记录的方法更新与增删数据记录的方法1.Addnew方法方法Addnew方法用于向数据库中增加新
43、记录,其使用语法为:RecordSet对象.AddnewField,Values参数说明如下:(1)Fields为单一的字段名称或多个字段名称构成的数组。(2)Values为单一数据值或多个数据值所构成的数组。2.Delete方法方法Delete方法用来删除当前记录,可进行批量删除。其使用语法为:RecordSet对象.DeleteAdAffectCurrent|AdAffectGroup参数说明如下:(1)AdAffectCurrent参数:值为。该属性是默认值,使用该属性设定会删去当前位置索引的记录行。(2)AdAffectGroup参数:值为。该属性删除符合Filter属性设定的记录行子
44、集合。4.更新与增删数据记录的方法更新与增删数据记录的方法3Update方法方法Update方法用于更新数据库数据。方法用于更新数据库数据。语法:语法:RecordSet对象对象.Update4CancelUpdate方法方法用于取消刚发生的更新动作。用于取消刚发生的更新动作。语法:语法:RecordSet对象对象.CancelUpdate11.4.2Recordset对象属性对象属性l1)方式属性l2)行为属性l3)记录指针移动属性l4)数据维护属性2.行为属性行为属性lCursorType属性属性:此属性定义了指针的类型,不同的指针类型决定了对数据库所能做的操作,它有4得可取值,如表所示。
45、值值说说明明1仅仅 可可 使使 用用 MoveNext或或 GetRows方方 法法 向向 前前 检检 索索 数数 据据 记记 录录,而而 暂暂 存存Bookmark中的数据无法再次被获得,为默认值中的数据无法再次被获得,为默认值2反反映映由由其其他他用用户户对对数数据据库库记记录录所所帮帮的的修修改改动动作作,而而不不反反映映由由其其他他用用户户增增加或删除记录的动作加或删除记录的动作3反反映映由由其其他他用用户户保保存存记记录录集集合合的的所所有有变变化化,包包括括对对记记录录的的修修改改、增增加加或或删除动作删除动作4不不反反映映其其他他作作户户对对记记录录所所做做的的修修改改、删删除除
46、或或增增加加动动作作,可可以以向向前前或或向向后后检索记录检索记录3.记录指针移动的属性记录指针移动的属性1BOF和和EOF属属性性:这两个属性是用来判断指针是否在RecordSet的首记录之前或尾记录之后。u如果当记录位于RecordSet的首记录之前,则BOF返回True.u如果当前记录是位于RecordSet的尾记录之后,则EOF返回True.u如果BOF和EOF都为True,则说明RecordSet中没有记录。2RecordCount属属性性:该属性用于返回RecordSet中的记录数。11.4.3Field对象和对象和Fields集合集合lField对象又称字段对象对象又称字段对象,
47、是是Recordset的子对象的子对象.一个记录集就好比一个电一个记录集就好比一个电子表格子表格,该表格内总是包含有许多列该表格内总是包含有许多列(字段字段),每一个字段就是一个每一个字段就是一个Field对对象象,而所有而所有Field对象组合起来就是一个对象组合起来就是一个Field对象集合对象集合.l例例:要输出姓名字段时要输出姓名字段时,用如下语句用如下语句:ll还可以用以下几种方法还可以用以下几种方法:当用索引值时,按字段在记录集中的先后顺序,从0开始.Fields集合的属性集合的属性lFields集合的属性只有一个集合的属性只有一个,就是就是Count属性属性.该属性返回记录该属性
48、返回记录集中字段集中字段(Field对象对象)的个数的个数.l语法语法:Recordset对象对象.Fields.CountFields集合的方法集合的方法Fields集合的方法也只有一个集合的方法也只有一个,就是就是Item方法方法.该方法用于建立某一个该方法用于建立某一个Field对对象象.语法语法:Set Field对象对象=Recordset对象对象.Fields.Item(字段名或字段索引值字段名或字段索引值)其中字段索引值是根据记录集中的先后顺序排列其中字段索引值是根据记录集中的先后顺序排列,从从0到到Fields.Count-1Field对象的常用属性对象的常用属性Field对象
49、的属性中最有用的属性是字段值对象的属性中最有用的属性是字段值Value.因为在页面上因为在页面上使用数据库最主要的就是和字段值打交道使用数据库最主要的就是和字段值打交道.语法语法:Field对象对象.ValueValue也被定为也被定为 Field对象的默认属性对象的默认属性,可以省略不写可以省略不写,语法语法:Field对象对象属性说明Name字段名称Value字段值Type字段数据类型DefinedSize字段长度使用使用RecordSet对象读取数据库内容对象读取数据库内容例11-2:读取Access数据库文件db1.mdb的ASP程序(access1.asp)如下:使用使用Record
50、Set对象读取数据库内容对象读取数据库内容读取读取Access数据库文件的内容数据库文件的内容%Response.Write&f2(i).name&Next%f2.MoveFirstWhileNotf2.EOFRow=Row&f2(i)&NextResponse.WriteRow&“f2.MoveNextWend%第二部分:读取数据库文件内容使用使用RecordSet对象对数据记录进行增加、删除对象对数据记录进行增加、删除及修改及修改1.使用使用AddNew方法增加数据记录方法增加数据记录 使用AddNew方法增加数据记录,要先建立一个缓冲区,并且将这个缓冲区设置为当前数据记录。确定要添加的数