程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB綜合教程 >> ADO三大對象的屬性、方法、事件及常數(一)

ADO三大對象的屬性、方法、事件及常數(一)

編輯:VB綜合教程
Connection對象
  
  屬性
  
  屬性名稱數據類型和用途
  Attributes可讀寫Long類型,通過兩個常數之和指定是否使用保留事務(retainningtransactions)。常數adXactCommitRetaining表示調用CommitTrans方法時啟動一個新事務;常數adXactAbortRetaning表示調用RollbackTrans方法時啟動一個新事務。默認值為0,表示不使用保留事務。
  CommandTimeout可讀寫Long類型,指定中止某個相關Command對象的Execute調用之前必須等待的時間。默認值為30秒。
  ConnectionString可讀寫String類型,提供數據提供者或服務提供者打開到數據源的連接所需要的特定信息
  ConnectionTimeout可讀寫Long類型,指定中止一個失敗的Connection.Open方法調用之前必須等待的時間,默認值為15秒。
  CursorLocation可讀寫Long類型,確定是使用客戶端(adUseClient)游標引擎,還是使用服務器端(adUseServer)游標引擎。默認值是adUseServer。
  DefaultDatabase可讀寫String類型,如果ConnectString中未指定數據庫名稱,就使用這裡所指定的名稱,對SQLServer而言,其值通常是pubs
  IsolationLevel可讀寫Long類型,指定和其他並發事務交互時的行為或事務。見IsolationLevel常數
  ModeLong類型,指定對Connection的讀寫權限。見Mode常數
  Provider可讀寫String類型,如果ConnectionString中未指定OLEDB數據或服務提供者的名稱,就使用這時指定的名稱。默認值是MSDASQL(MicrosoftOLEDBProviderforODBC)。
  State可讀寫Long類型,指定連接是處於打開狀態,還是處於關閉狀態或中間狀態。見State常數
  Version只讀String類型,返回ADO版本號。
  
  注意:上面所列出的大多數可讀寫的屬性,只有當連接處於關閉狀態時才是可寫的。
  
  只有當用戶為Connection對象用BeginTrans...CommitTrans...RollbackTrans方法定義了不遺余力,事務隔離程度的指定才真正有效。如果有多個數據庫用戶同時執行事務,那麼應用程序中必須指定如何響應運行中的其他事務。
  
  方法
  
  方法用途
  BeginTrans初始化一個事務;其後必須有CommitTrans和/或RollbackTrans相呼應
  Close關閉連接
  CommitTrans提交一個事務,以完成對數據源的永久改變(要求使用之前必須調用了BeginTrans方法)
  Execute人SELECTSQL語句返回一個forward-onlyRecordset對象,也用來執行那些不返回Recordset語句,如INSERT、UPDATE、DELETE查詢或DDL語句
  Open用連接字符串來打開一個連接
  OpenSchema返回一個Recordset對象以提供數據源的結構信息(metadata)
  RollbackTrans取消一個事務,恢復對數據源做的臨時性改變(要求使用之前必須調用了BeginTrans方法)
  
  注:只有Execute、Open和OpenSchema三個方法才能接受變元參數。Execute的語法為:
  cnnName.ExecutestrCommand,[lngRowsAffected[,lngOptions]]
  strCommand的值可以是SQL語句、表名、存儲過程名,也可以是數據提供者所能接受的任意字符串。為了提高性能,最好為lngOptions參數指定合適的值(詳見lngOptions參數用到的常數),以使提供者解釋語句時不用再去判定其類型。可選參數lngRowsAffected將返回INSERT、UPDATE或DELETE查詢執行以後所影響的數目。這些查詢會返回一個關閉的Recordset對象。一個SELECT查詢將返回lngRowsAffected值為0並且返回帶有一行或多行內容的打開的forward-onlyRecordset。
  
  事件
  
  事件名稱觸發時機
  BeginTransCompleteBeginTrans方法執行以後。
  PrivateSubcnnName_BeginTransComplet(ByValTransactionLevelAsLong,ByValpErrorAsADODB.Error,adStatusAsADODB.EventStatusEnum,ByValpConnectionAsADODB.Connection)
  CommitTransCompleteCommitTrans方法執行以後
  PrivateSubConnection1_CommitTransComplete(ByValpErrorAsADODB.Error,adStatusAsADODB.EventStatusEnum,ByValpConnectionAsADODB.Connection)
  ConnectComplete成功建立到數據源的Connection之後
  PrivateSubConnection1_ConnectComplete(ByValpErrorAsADODB.Error,adStatusAsADODB.EventStatusEnum,ByValpConnectionAsADODB.Connection)
  DisconnectConnection關閉之後
  PrivateSubConnection1_Disconnect(adStatusAsADODB.EventStatusEnum,ByValpConnectionAsADODB.Connection)
  ExecuteComplete完成Connection.Execute或Command.Execute之時
  PrivateSubConnection1_ExecuteComplete(ByValRecordsAffectedAsLong,ByValpErrorAsADODB.Error,adStatusAsADODB.EventStatusEnum,ByValpCommandAsADODB.Command,ByValpRecordsetAsADODB.Recordset,ByValpConnectionAsADODB.Connection)
  InfoMessage一個Error對象被添加到ADODB.Connectio.Error集合之時
  PrivateSubConnection1_InfoMessage(ByValpErrorAsADODB.Error,adStatusAsADODB.EventStatusEnum,ByValpConnectionAsADODB.Connection)
  RollbackTransCompleteRollbackTrans方法執行之後
  PrivateSubConnection1_RollbackTransComplete(ByValpErrorAsADODB.Error,adStatusAsADODB.EventStatusEnum,ByValpConnectionAsADODB.Connection)
  WillConnect即將調用Connection.Open方法之時
  PrivateSubConnection1_WillConnect(ConnectionStringAsString,UserIDAsString,PasswordAsString,OptionsAsLong,adStatusAsADODB.EventStatusEnum,ByValpConnectionAsADODB.Connection)
  WillExecute即將調用Connection.Execute或Command.Execute方法之時
  PrivateSubConnection1_WillExecute(SourceAsString,CursorTypeAsADODB.CursorTypeEnum,LockTypeAsADODB.LockTypeEnum,OptionsAsLong,adStatusAsADODB.EventStatusEnum,ByValpCommandAsADODB.Command,ByValpRecordsetAsADODB.Recordset,ByValpConnectionAsADODB.Connection)
  
  注:其中的adStatus參數所用到的常數的名稱和含義詳見adStatus所用的常數
  
  常數
  
  IsolationLevel常數
  
  常數含義
  adXactCursorStability只允許讀其他事務已提交的改變(默認值)
  adXactBrowse允許讀其他事務未提交的改變
  adXactChaos本事務不會覆蓋其他位於更高隔離程度的事務所做的改變
  adXactIsolated所有事務相互獨立
  adXactReadCommitted等同於adXactCursorStability
  adXactReadUncommitted等同於adXactBrowse
  adXactRepeatableRead禁止讀其他事務的改變
  adXactSerializable等同於adXactIsolated
  adXactUnspecified不能確定提供者的事務隔離程度
  
  Mode常數
  
  常數含義
  adModeUnknown未指定數據源的連接許可權(默認值)
  adModeRead連接是只讀的
  adModeReadWrite連接是可讀寫的
  adModeShareDenyNone不拒絕其他用戶的讀寫訪問(JetOLEDBProvider的默認值)
  adModeShareDenyRead拒絕其他用戶打開到數據源的讀連接
  adModeShareDenyWrite拒絕其他用戶打開到數據源的寫連接
  adModeShareExclusive以獨占方式打開數據源
  adModeWrite連接是只寫的
  
  State常數
  
  常數含義
  adStateClosedConnection(或其他對象)是關閉的(默認值)
  adStateConnecting正在連接數據源的狀態
  adStateExecutingConnection或Command對象的Execute方法已被調用
  adStateFetching返回行(row)到Recordset對象
  adStateOpenConnection(或其他對象)是打開的(活動的)
  
  Execute方法中lngOption參數用到的常數
  
  Command類型常數含義
  adCmdUnknownCommand類型未定(默認值),由數據提供者去判別Command語法
  adCmdFileCommand是和對象類型相應的文件名稱
  adCmdStoredProcCommand是存儲過程名稱
  adCmdTableCommand是能產生內部SELECT*FROMTableName查詢的表名稱
  adCmdTableDirectCommand是能直接從表中獲取行內容的表名稱
  adCmdTextCommand是一條SQL語句
  
  ADODB事件處理子過程參數adStatus所用的常數
  
  常數含義
  adStatusCancel操作被用戶取消
  adStatusCnatDeny操作不能拒絕其他用戶對數據源的訪問
  adStatusErrorsOccurred操作導致錯誤並已送到Errors集合中
  adStatusOK操作成功
  adStatusUnWantedEvent操作過程中一個未預料到的事件被激活->

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved