關於 rs.Open SQL_str,conn,1,2 中數字的問題

 記錄集遊標和鎖定類型  
  你可以用四種類型的遊標打開一個記錄集。遊標決定了你可以對一個記錄集進行什麼操作。遊標還決定了其他用戶可以對一個記錄集進行什麼樣的改變。下面列出了遊標的不同類型和限制:  
   
  ■         adOpenFowardOnly。使用前向遊標,你只能在記錄集中向前移動。  
  ■         adOpenKeyset。使用Keyset遊標,你可以在記錄集中向前或向後移動。如果另一個用戶刪除或改變了一條記錄,記錄集中將反映這個變化。但是,如果另一個用戶添加了一條新記錄,新記錄不會出現在記錄集中。  
  ■         adOpenDynamic。使用動態遊標,你可以在記錄集中向前或向後移動。其他用戶造成的記錄的任何變化都將在記錄集中有所反映。  
  ■         adOpenStatic。使用靜態遊標,你可以在記錄集中向前或向後移動。但是,靜態遊標不會對其他用戶造成的記錄變化有所反映。  
   
          在缺省情況下,當你打開一個記錄集時,將用前向遊標打開它。這意味着你只能用MoveNext方法在記錄集中向前移動。對記錄集的其它操作將不受支持。  
  前向遊標的好處是它比較快。無論何時,如果前向遊標可以實現你的要求,你就應該使用前向遊標。但是,如果你需要用功能更強的遊標打開記錄集,你可以使用如下的腳本:  
   
  <!--#INCLUDE   VIRTUAL=”ADOVBS.inc”-->  
  <%  
  Set   MyConn=Sever.CreateObject(“ADODB.Connection”)  
  Set   RS=Sever.CreateObject(“ADODB.RecordSet”)  
  MyConn.Open   “FILEDSN=d:/Program   Files/  
                                            Common   Files/ODBC/Data   Sources/MyData.dsn  
  RS.Open   “SELECT   *   FROM   Mytable”,MyConn,adOpenDynamic  
  RS.Close  
  MyConn.Close  
  %>  
   
  要用一種特定的遊標打開記錄集,你必須顯式地創建這個記錄集。然後用該遊標類型打開它。要做到這一點,你首先要創建記錄集對象的一個實例。接下來,你要用Open方法,通過一個連接和一種遊標類型,打開這個記錄集。在這段腳本中,用連接對象MyConn和一個動態遊標打開了記錄集RS。  
  打開記錄集時,你也可以指定鎖定類型。鎖定類型決定了當不止一個用戶同時試圖改變一個記錄時,數據庫應如何處理。你可以指定下面的四種鎖定類型:  
   
  ■         adLockReadOnly。指定你不能修改記錄集中的記錄。  
  ■         adLockPessimistic。指定在編輯一個記錄時,立即鎖定它。  
  ■         adLockOptimstic。指定只有調用記錄集的Update方法時,才鎖定記錄。  
  ■         adLockBatchOptimstic。指定記錄只能成批地更新。  
   
  在缺省情況下,記錄集使用只讀鎖定。要指定不同的鎖定類型,你可以在打開記錄集時包含這些鎖定常量之一。這裏有一個例子:  
   
  <!--#INCLUDE   VIRTUAL=”ADOVBS.inc”-->  
  <%  
  Set   MyConn=Sever.CreateObject(“ADODB.Connection”)  
  Set   RS=Sever.CreateObject(“ADODB.RecordSet”)  
  MyConn.Open   “FILEDSN=d:/Program   Files/  
                                            Common   Files/ODBC/Data   Sources/MyData.dsn  
  RS.Open   “SELECT   *   FROM   Mytable”,MyConn,adOpenDynamic,adLockPessimistic  
  RS.Close  
  MyConn.Close  
  %>  
   
  這個腳本與上一個基本相同,只是增加了鎖定類型。當打開記錄集RS時,將使用adLockPessimistic鎖定。這意味着這個記錄集中的記錄可以被修改。(下一集中將討論如何修改)  
  最後,打開一個記錄集時,你可以指定一個Options參數。Options參數標明用來打開記錄集的命令字符串的類型。告訴ADO被執行的字符串內容的有關信息有助於高效地執行該命令字符串。  
  你可以使用下面的常量作爲Options參數:  
   
  ■         adCMDTable。被執行的字符串包含一個表的名字。  
  ■         adCMDText。被執行的字符串包含一個命令文本。  
  ■         adCMDStoredProc。被執行的字符串包含一個存儲過程名。  
  ■         adCMDUnknown。不指定字符串的內容。(這是缺省值。)  
   
  在下面的腳本中,Options參數用來告訴ADO,命令字符串的內容是命令文本:  
   
          <!--#INCLUDE   VIRTUAL=”ADOVBS.inc”-->  
  <%  
  Set   MyConn=Sever.CreateObject(“ADODB.Connection”)  
  Set   RS=Sever.CreateObject(“ADODB.RecordSet”)  
  MyConn.Open   “FILEDSN=d:/Program   Files/  
                                            Common   Files/ODBC/Data   Sources/MyData.dsn  
  RS.Open   “SELECT   *   FROM   Mytable”,MyConn,adOpenDynamic,adCMDText  
  RS.Close  
  MyConn.Close  
  %>  
======================================================================

RS.OPEN   SQL,CONN,A,B    
  參數A爲設定遊標的類型,其取值爲:  
  0             僅向前遊標,只能向前瀏覽記錄,不支持分頁、Recordset、BookMark  
  1             鍵集遊標,其他用戶對記錄說做的修改將反映到記錄集中,但其他用戶增加或刪除記錄不會反映到記錄集中。支持分頁、Recordset、BookMark  
  2             動態遊標功能最強,但耗資源也最多。用戶對記錄說做的修改,增加或刪除記錄都將反映到記錄集中。支持全功能瀏覽。  
  3             靜態遊標,只是數據的一個快照,用戶對記錄說做的修改,增加或刪除記錄都不會反映到記錄集中。支持向前或向後移動  
   
   
  參數B爲記錄集的鎖定類型,其取值爲:  
  1             鎖定類型,默認的,只讀,不能作任何修改  
  2             當編輯時立即鎖定記錄,最安全的方式  
  3             只有在調用Update方法時才鎖定記錄集,而在此前的其他操作仍可對當前記錄進行更改、插入和刪除等  
  4             當編輯時記錄不會被鎖定,而更改、插入和刪除是在批處理方式下完成的

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章