rs.open Source ,Connection, CursorType, LockType, CommandType
rs.open strsql1 ,conn , 3 , 3 , 3
------------------------------------------------------------------------------------
rs.open strsql1 ,conn , 3 , 3 , 3
------------------------------------------------------------------------------------
RecordSet物件在Open時,可含5個引數分別為
Source:可以是資料來源名稱DSN或SQL的Statements
Connection物件:用Set Conn = Server.CreateObject("ADODB.Connection") 並且Open的物件
CursorType:資料集指標的型態
0:唯讀,指標只能向前移動,在不對資料集有做操作需求時,速度最快,但只能用GetRows獲得資料!為預設值。
1:可讀寫、指標可自由移動、但別的RecordSet有更新時,無法引用
2:等於引數1的功能,但別的RecordSet有更新時,可以引用
3:可讀寫、指標可自由移動、與資料庫隔絕,所有開啟後發生的變更均不可引用
※有些書籍或文件所列的常數值為1-4有誤,應為0-3,這要注意
LockType:鎖定作業的方式
1:唯讀、故不可任何寫入動作。
2:會在資料更新時鎖住,其他RecordSet的操作會被拒絕,資料安全度最高。(悲觀鎖定)
3:和2相反。(樂觀鎖定)
4:在更新資料時不鎖定,但暫時不存入資料庫,而要下UpdateBatch命令時,才會真正寫入資料庫。(批次樂觀鎖定)
CommandType:命令的種類
0:表示命令是SQL字串
1:資料表
2:預儲程序(就是事先在SQLServer寫好並編輯完成的SQL命令,效能會較好)
3:其他
Source:可以是資料來源名稱DSN或SQL的Statements
Connection物件:用Set Conn = Server.CreateObject("ADODB.Connection") 並且Open的物件
CursorType:資料集指標的型態
0:唯讀,指標只能向前移動,在不對資料集有做操作需求時,速度最快,但只能用GetRows獲得資料!為預設值。
1:可讀寫、指標可自由移動、但別的RecordSet有更新時,無法引用
2:等於引數1的功能,但別的RecordSet有更新時,可以引用
3:可讀寫、指標可自由移動、與資料庫隔絕,所有開啟後發生的變更均不可引用
※有些書籍或文件所列的常數值為1-4有誤,應為0-3,這要注意
LockType:鎖定作業的方式
1:唯讀、故不可任何寫入動作。
2:會在資料更新時鎖住,其他RecordSet的操作會被拒絕,資料安全度最高。(悲觀鎖定)
3:和2相反。(樂觀鎖定)
4:在更新資料時不鎖定,但暫時不存入資料庫,而要下UpdateBatch命令時,才會真正寫入資料庫。(批次樂觀鎖定)
CommandType:命令的種類
0:表示命令是SQL字串
1:資料表
2:預儲程序(就是事先在SQLServer寫好並編輯完成的SQL命令,效能會較好)
3:其他
----------------------------------------------------------------------------------------------
recordset屬性 屬性 功能簡述 absolutepage 目前的絕對資料頁位置 absluteposition 目前的絕對資料位置 activeconnection 與command and connection物件主動連接 bof 資料區塊的開頭邊界 bookmark 提供資料指標位置的書籤功能 cachesize recordser內資料所暫存的計憶體大小 cursorlocation 控制資料指標的型態為伺服端或客戶端 cursortype 控制如何由伺服端資料庫取回資料 eof 資料區塊的結尾邊界 editmode 控制目前資料的處理狀態 filter 控制欲顯示或隱藏的資料內容 locktype 控制資料更新的模式 maxrecords 允許由伺服端取回的最大資料數目 pagecount 資料頁總數 pagesize 控制每一資料頁內的資料筆數 recordcount 由伺服端取回的資料項目總數 source 資料請求訊息 status 最近一筆資料處理後的狀態或訊息 pagecount = ( recordcount + pagesize - 1 ) / pagesize CACHSIZE 資料型態:為一整數資料型態。 屬性功能:用來決定客戶端每次由資料庫伺服端取回的資料大小數。 cursorlocation 資料型態:123的整數值 屬性功能:控制伺服端資料庫回傳資料所處理的位置 1 aduseclient 下載DBSERVER回應的資料於客戶端快取做資料存取的處理。 2 aduseserver 維持DBSERVER回應的資料於伺服端做資料庫存取的處理 3 aduseclientbatch 由資料庫回應的資料可動態回傳至客戶端、切斷連線做處理、再連線做資料更新。 cursortype 資料型態:1234的整數值 屬性功能:控制資料更新後過濾下載的資料型式 1 adopenforwardonly 此項屬性為預設值,且這項設定擁有最快的回應時間;資料筆數僅可以使用MoveNext OR GetRows方法向後索取資料,而暫存在bookmark裡頭的資料無法再次被獲得。 2 adopenkeyset 除了在資料庫中加入新的資料,其他方式的存取都會呈現於各個使用者recordset物件上,意即在一客戶端上更改的資料其他使用者立即可顯現出來。這時recordset物件內資料無論是向前或向後索取均可以完全的被控制,且暫存在bookmark裡頭的資料可以再次拿出來使用。 3 adopendaynamic 所有資料庫的操作動作都會立即反應的各個客戶端使用者上。這時recordset物件內資料無論是向前或向後索取均可以完全的被控制,且暫存在bookmark裡頭的資料可以再次拿出來使用。 4 adopenstatic 由資料庫伺服器所回應的資料已經與資料庫隔絕開來,因此在資料庫上所有更新的資料均不會同時呈現於不同的使用者端上。這時recordset物件內資料無論是向前或向後索取均可以完全的被控制,但暫存在bookmark裡頭的資料可能無法再次取用。 editmode 資料型態:012的整數值 屬性功能:用來顯示資料資料的處理狀態 0 adeditnone 該資料未被處理更改過。 1 adeditinprogress 目前的資料正在被處理,有可能有些資料已經被更改過。 2 adeditadd 該資料項是使用addnew方法所宣告的新資料項,但是該資料尚未回傳至資料庫端。 locktype 資料型態:1234的整數值 屬性功能:控制對資料庫更新資料時的鎖住機制 1 adlockreadonly recordset物件是以唯讀模式開啟,故不允許資料更新、插入或刪除的動作。 2 adlockpessimistic 資料在更新時鎖住其他所有動作,這是最安全的鎖住機制。 3 adlockoptimistic 資料在更新時並未鎖住其他使用者的動作,仍然可以做資料更新、插入或刪隱的動作。 4 adlockbatchoptimistic 資料在更新時並未鎖住其他使用者的動作,且資料處理位置必須為aduseclientbatch模式才允許做資料更新插入或刪除的動作。 status 屬性功能:表示目前資料的狀態旗標 0 adrecok 該筆資料項動作正確 1 adrecnew 該筆是新加入的資料,但仍未加入資料庫中 2 adrecmodified 該筆資料已經被修改,但還未上傳至資料庫 4 adrecdeleted 該筆資料已經被刪除了 8 adrecunmodified 該筆資料尚未被修改過 16 adrecinvalid 無法獲得資料故更新資料庫失敗 64 adrecmultiplechanges 更新資料庫失敗,因必須透過多重資料項編修 128 adrecpendingchanges 更新資料庫失敗,因該資料必須倚靠其他項待改變的資料項 256 adreccanceled 由於放棄資料庫連線或動作導致資料磁更新失敗 1024 adreccantrelease 無法獲得資料庫鎖型式導致資料庫更新失敗 2048 adrecconcurrencyviolation 由於資料庫鎖型式為adlockoptimistic,導致嘗試更新資料庫時導致未知的錯誤 4096 adrecintegrityviolation 由於該筆資料違背現行的資料庫規則或限制導致更新資料庫失敗 8192 adrecmaxchangesexceeded 由於過多筆資料要更新或加入導致資料庫更新失敗 16384 adrecobjectopen 由於其他的recordset物件導致資料更新錯誤 32768 adrecoutofmemory 由於伺服端記憶體溢導致資料庫更新錯誤 65536 adrecpermissiondenied 由於使用者權力不足導致資料庫更新失敗 131072 adrecschemaviolation 該筆資料違背資料庫結構導致更新失敗 262144 adrecdbdeleted 該筆資料已被刪除導致資料庫更新失敗 recordset方法 addnew 加入一筆新的資料項 rs.addnew cancelbatch 取消備份上傳模式的資料更新動作 rs.cancelbatch cancelupdate 取消資料更新的動作 rs.cancelupdate clone 建立一個相等的recordset物件 set cloners=rs.clone close 關閉目前的recordset物件 rs.close delete 刪除目前位置指標的資料項 rs.delete (adaffectcurrent|adaffectgroup) getrows 取得多筆資料項 set valuesarrey=rs.getrows (count,start,fields) move 移動到指定的資料項指標位置 rs.move count,start movenext 下一筆 rs.movenext moveprevious 上一筆 rs.moveprevious movefirst 第一筆 rs.movefirst movelast 最後一筆 rs.movelast nextrecordset 移動到多重資料請求時取得的另外一個recordset物件 set nextrs=rs.nextrecordset (affected) open 執行向資料庫資料請求的動作 rs.open source,connection,cursor,lock,type requery 重複執行資料庫請求的動作 recordset.requery resync 與資料庫伺器進行資料同步的模式 rs.resynce (adaffectcurrent|adaffectgroup_adaffectall) supports 允許目前recordset物件支援的功能 ifsupport=rs.supports (option) update 更新目前的資料至資料庫伺服器 rs.update fields,values updatebatch 在備份上傳模式下進行資料上傳更新的動作 rs.updatebatch (adaffectcurrent|adaffectgroup|adaffectall) //adaffectcurrent 只對目前指標位置 //adaffectgroup 所有匹配於filter屬性的資料項 //adaffectall 對所有rs省件內的資料