ASP讲座之七:ASP与数据库(二)__教程 |
|
日期:2007-5-20 0:33:30 人气:74 [大 中 小] |
|
|
|
rsTest.LockType = adLockOptimistic StrSQL = "SELECT * FROM 运货商 WHERE 电话 = '0571-7227298'" rsTest.Open StrSQL, Cnn,,,adCmdText
While Not rsTest.EOF rsTest.Delete rsTest.MoveNext Wend 若记录集中有多条记录符合条件,则必须使用循环,否则,Delete方法只删除当前记录,即第一条符合条件的记录。
四、 其它一些有用的知识 1. 成批更新数据 上面我们讲了如何使用Recordset对象的Update方法更新数据,事实上,Recordset 对象可支持两类更新:立即更新和批更新。 使用立即更新,一旦调用 Update 方法,对数据的所有更改将被立即写入现行数据源。 使用批更新,可以使提供者将多个记录的更改存入缓存,然后使用 UpdateBatch 方法在单个调用中将它们传送给数据库。更新多个记录时,批更新比立即更新更有效。 缺省为立即更新模式。使用批更新模式,要使用客户端游标,例wuf54.asp。 <% @LANGUAGE = VBScript %> <!--#include file="AdoAccess.asp"--> <!--#include file="adovbs.inc"--> <% ' wuf54.asp '第二部分: 批更新模式 Dim StrSQL, rsTest Set rsTest = server.CreateObject("ADODB.Recordset") rsTest.CursorLocation = adUseClient ‘使用客户端游标类型 rsTest.LockType = adLockBatchOptimistic StrSQL = "SELECT * FROM 运货商 WHERE 电话 LIKE '%99%'" rsTest.Open StrSQL, Cnn,,,adCmdText
rsTest.MoveFirst While Not rsTest.EOF rsTest("公司名称") = "中文" rsTest.MoveNext Wend rsTest.UpdateBatch %> <HTML> <BODY> <% '第三部分: 将得到的记录集显示到浏览器上 rsTest.Requery Do While Not rsTest.EOF Response.Write rsTest(0) & " " & rsTest(1) & " " & rsTest(2) & " " & "<BR>" rsTest.MoveNext Loop
'第四部分: 打扫战场 Cnn.close Set rsTest = Nothing: Set Cnn = Nothing %> </BODY> </HTML> 注意: 1) rsTest.CursorLocation = adUseClient有两个值,另一个值为adUseServer(默认),对初学者而言,Recordset对象的游标类型是比较难的部分,这里不再详细介绍,以免越来越糊涂,请在实际处理中慢慢摸索(多试)。 2) rsTest.Requery:使用 Requery 方法刷新数据源的 Recordset 对象的全部内容。调用该方法等于相继调用 Close 和 Open 方法。
2.学会使用Recordset对象的Filter 属性 <% @LANGUAGE = VBScript %> <!--#include file="AdoAccess.asp"--> <!--#include file="adovbs.inc"--> <% ' wuf57.asp '第二部分: 使用 Recordset 对象的 Filter 属性 Dim StrSQL, rsTest Set rsTest = server.CreateObject("ADODB.Recordset") rsTest.CursorType = adOpenStatic rsTest.LockType = adLockOptimistic rsTest.Open "运货商",Cnn,,,adCmdTable
'筛选出符合条件的记录,而其它记录则被过滤掉 rsTest.Filter = "公司名称 = 'wu''feng'" If rsTest.EOF Then ‘若无此记录,则新增 rsTest.AddNew rsTest("公司名称") = "wu'feng" rsTest("电话") = "0571-7227298" rsTest.Update Else ‘若有符合该条件的记录,修改符合条件的第一条记录 rsTest("电话") = "(571) 7227298" rsTest.Update End If %> <HTML> <BODY> <% '第三部分: 将得到的记录集显示到浏览器上 '请仔细比较下面这一句要与不要的区别 'rsTest.Filter="" '用来清除 Filter 属性 rsTest.MoveFirst |
|
出处:本站原创 作者:佚名 |
|
|