ADO物件簡介

Download Report

Transcript ADO物件簡介

ADO物件簡介
ADO物件簡介
 ADO(ActiveX Data
Object)是微軟為了讓程
式設計師們以他們自己
所熟悉的各種語言都可
以存取各式資料來源,
包括結構化資料庫,不
管是Oracle、MS SQL
Server、Access等等
Active Data Objects 物件模組
properties
Connection
Property
properties
Recordset
集合物件
物件
Property
Fields
Field
properties
Property
Command
properties
Property
Parameters
Parameter
Errors
error
Connection 物件
 用以連接資料庫的物件,這是製作資料庫應
用程式時,第一個必須作成的物件
 Connection物件是在ADO物件模型中最高層
的物件,它用來在你的應用程式與外界資料
來源間建立連結。
Recordset
 取得資料來源的物件,它可以是一個表格,
也可以是由SQL敘述或Command物件所取得
的資料記錄的集合。
 Recordset用來存取透過SQL查詢傳回來的記
錄.使用這個物件你可以在資料記錄中瀏覽,
並新增、修改、刪除和查詢記錄。
Command 物件
 儲存操作資料庫時將會用到的命令之物件
 Command物件是用來產生查詢(query),包
含使用者可以定義的參數(parameter),以存
取資料來源。通常會傳回Recordset物件。
Parameter
 管理查詢命令(Query)或預儲程式(Stored
Procedure)之參數的物件。
 Parameters集合是用來傳遞參數查詢或是
SQL Server上的Stored Procedure執行時需
要的參數,以及需要傳回的參數。
Field物件
 儲存具有相同資料型態或屬性之資料記錄的
物件
 Fields集合是用來存取記錄中每一欄的資料
Error物件
 存取資料庫,難免會發生錯誤,而儲存錯誤
訊息的物件,即為Error物件
 Errors集合用來傳回執行時期錯誤(run-time
errors)的細節資訊,或是其他由資料來源傳
回來的訊息。

程式碼範例
Sub MakeAConnection()
'宣告一個Connection和Error物件
Dim cnn As ADODB.Connection
Dim errAdo As ADODB.Error
Set cnn = New ADODB.Connection
'啟動錯誤處理
On Error GoTo errHandle
'建立一個資料連結到資料來源
With cnn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=C:\Program Files\Microsoft Visual
Studio\VB98\nwind.mdb"
.Open
End With

'如果沒有錯誤,就離開本副程式。 '注意一定要撰寫這一行,避免雖然程式正常執行,
但仍然去執行錯誤處理
Debug.Print "連結建立成功"
Exit Sub
errHandle:
'如果有錯誤發生,便利用For Each的迴圈讀完所有的錯誤訊息
Dim str As String
For Each errAdo In cnn.Errors
str = str & errAdo.NativeError & " : " & errAdo.Description & vbCrLf
Next
MsgBox str
End Sub
處理資料存取錯誤
 收集與處理ADO的錯誤與處理大部分的VB錯誤的方
式相同。你可以撰寫錯誤處理機制(error-handling)
的程式碼來預防可能發生的錯誤。與VB不同的地方
是,當你使用ADO的Errors集合物件時,傳回的錯
誤訊息可能不只一個。
 當某個錯誤發生時,資料來源回傳回錯誤訊息,這
是系統會產生Error物件並將該物件加入到Errors集
合中。你可以透過一般在VB中處理集合物件的方式
來檢視這些訊息。
Property
 保存Connection 物件、Command物件、
Recordset物件、Field物件之屬性的物件。
ADO物件的功用







移動記錄
更新記錄
新增記錄
刪除記錄
搜尋記錄
篩選記錄
排序記錄
使用ADO建立資料來源到資料庫
 1.設定參照(reference)到ADO Object Library
2.宣告Connection物件
3.設定OLE DB的資料提供者(data provider)
4.傳遞連結資訊
 一但你完成上述的步驟,你便已經準備好要
利用Open方法來建立連結。
設定參照到ADO Object Library
1.選擇主選單的Project,
並點選References
2.選擇Microsoft ActiveX
Data Object X.X
Library後按下OK
ADO物件的製作方式
 STEP1:宣告物件變數
 STEP2:把物件型態代入變數中
宣告物件變數
 Dim objvar as Class
Objvar:物件變數的名稱
Class:類別名稱
例:
Dim cn as ADODB.connection
ADO 物件的類別名稱
物件
類別名稱
Connection
ADODB.Connetion
Error
ADODB.Error
Command
Command
Parameter
ADODB.Parameter
Recordset
ADODB.Recordset
Field
ADODB.Field
Property
ADODB.Property
把物件型態代入變數中
 Set objvar=New Class
objvar:物件變數的名稱
Class:類別名稱
在此使用New的主要原因,為製作ADO物件的
副本。
例:
Dim cn As ADODB.Connection
Set cn=New ADODB.Connection
設定OLE DB的資料提供者(data
provider)
 一但你產生了connection物件,接著要定義
OLE DB的資料提供者(Data Provider)。藉由
設定Connection物件的Provider屬性來設定。
 下列程式碼設定Microsoft SQL Server為資料
提供者
 cnn.Provider = "SQLOLEDB”
常用的資料提供者的設定字串
OLE DB Provider設定字串
要連結的資料來源
SQLOLEDB
Microsoft SQL Server
MSDASQL
ODBC
Microsoft.Jet.OLEDB.4.0
Microsoft Jet
MSIDXS
Microsoft Index Server
ADSDSOObject
Microsoft Active Directory Service
MSDAORA
Oracle
傳遞連結資訊
 建立連結的最後一步是設定連結的資訊。這
要利用Connection物件的ConnectionString屬
性。Connection字串參數隨著資料提供者的
不同而稍有不同。這些字串會直接傳給資料
提供者,ADO本身並不處理
傳遞連結資訊
 下列程式碼是設定建立到Microsoft SQL Server的程
式碼寫法
 With cnn
.Provider = "SQLOLEDB"
.ConnectionString = "User ID=sa;Password=;" & _
"Data Source=Ui;" & _
"Initial Catalog=Pubs"
 End With
 注意:上面的連結字串中的參數Password=;是因
為該伺服器的sa帳號未設密碼的關係。
取消對資料來源的連結
 一但你要取消對資料來源的連結,只要使用
Connection物件的Close方法。以SQL Server來說,
當連結結束後,會自動釋放該連結所佔用的資源。
一般來說,在用完後便立即釋放資源在多人共用的
環境中,是一個良好的程式撰寫習慣。
 取消連結的程式碼如下
 cnn.Close
Set cnn = Nothing
使用Connection物件所觸發的事件
 Connection物件支援許多事件,讓你可以撰
寫應付各種狀況的程式碼。這些狀況在連結
到資料源,執行SQL述句和管理交易
(Transaction)時發生。
使用Connection物件所觸發的事件
Connection物件所觸發的事件名稱
說明
AbortTransaction
當RollbackTrans方法執行後被觸發
BeginTransaction
當BeginTrans方法執行後被觸發
CommitTransaction
當CommitTrans方法執行後被觸發
ConnectComplete
當連結的動作做完時被觸發,不管連結
是成功、失敗或逾時。
Disconnect
當連結被關閉時觸發。
ExecuteComplete
當Execute方法執行後被觸發
InfoMessage
當OLE DB或資料源有訊息傳回時被觸
發。
WillConnect
在Open方法被呼叫,但連結尚未建立
前被觸發
WillExecute
當Execute方法被呼叫,但命令尚未執
行完之前被觸發。
啟動ADO事件
 當你宣告ADO物件時,要使用VB的
WithEvents關鍵字好在VB整合環境中撰寫事
件觸發後相應的程式碼。當你使用
WithEvents關鍵字後,便可以在VB程式碼撰
寫視窗的左上方,物件下拉視窗中找到該物
件變數的名稱。

啟動ADO事件
 程式碼如下

Private Sub cnnUi_ConnectComplete(ByVal pError As ADODB.Error, adStatus
As ADODB.EventStatusEnum, ByVal pConnection As ADODB.Connection)
If adStatus = adStatusOK Then
MsgBox "連結建立完成"
End If
End Sub
從資料源獲取資料
 使用Command物件
 ADO的Commmand物件可以用來存取資料源的資
料,或是建立查詢。另一項主要的功能是呼叫資料
源的Stored Procedure
 使用Command物件不一定要先明確地建立
Connection物件,但若你未明確的建立Conneciton
物件而直接使用Command存取資料源,則系統會
暗地裡幫你建立Connection物件,這時所建立的
Connection物件不能提供給其他的Command或
Recordset物件重新使用。
Command物件屬性
屬性名稱
說明
ActiveConnection
設定或傳回要使用或是正在使用的Connection物件
CommandText
要使用的SQL命令,stored procedure名稱,或是資料表的
名稱。
CommandType
用來標示CommandText的內容是SQL命令,stored
procedure名稱,還是資料表的名稱。
Prepared
設定所使用的SQL命令是否要建立成暫時的Stored
Procedure
State
用來告知commmand當下的狀態是開啟、關閉還是執行
Command物件方法
方法名稱
說明
Cancel
放棄正在執行的命令
CreateParameter
產生parameter物件(在呼叫Stored
Procedure時使用)
Execute
執行SQL命令
利用已經存在的Connection來執行
Command

Dim cnn As New ADODB.Connection
With cnn
‘設定Connection的連結字串並建立連結
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=C:\Program Files\Microsoft Visual
Studio\VB98\nwind.mdb,Initial Catalog=pubs;User ID=sa;Password=;"
.Open
End With

Dim cmd As New ADODB.Command
With cmd
'利用已經建立好的Connection物件
.ActiveConnection = cnn
'設定要執行的SQL命令
.CommandText = "UPDATE Titles SET Price=Price*1.1"
'執行Command
.Execute
End With

Set cmd = Nothing
cnn.Close
Set cnn = Nothing
建立獨立的Command物件
 Dim cmd As New ADODB.Command
With cmd
'提供連結到SQL Server:Ui01的資訊
.ActiveConnection = "Provider=SQLOLEDB;Data
Source=ui01;Initial Catalog=pubs;User
D=sa;Password=;"
.CommandText = "Update Titles Set Price=Price*1.1"
.Execute
End With
使用Recordset物件
 Recordset物件讓你的應用程式可以逐筆存取
透過SQL查詢命令要求資料來源傳回來的資
料。這個查詢命令可以是在程式中產生,或
是存在SQL Server上的Stored Procedure。
透過recordset物件,你可以在一筆筆的記錄
中,來回移動並新增、修改、刪除記錄。
使用Recordset物件
 一般初學的VB程式撰寫者會喜歡使用Recordset物
件,好讓使用者可以在操作介面上透過上一筆、下
一筆的瀏覽方式存取資料庫。但是這是非常耗費伺
服端資源的做法。VB的程式設計師若要撰寫有效率
的資料庫程式以供多人同時上線使用,應該要先了
解伺服器型的資料庫如MS SQL Server、Oracle、
Sybase等等他們所提供的Stored Procedure,並以
SQL (Structure Query Language)來批次更新記錄,
才是有效利用伺服器資料庫引擎的方式。
Recordset物件屬性
Recordset物件屬性
說明
ActiveCommand
傳回當下Recordset的命令
ActiveConnection
設定或傳回要使用或是正在使用的Connection物件
CursorLocation
設定或傳回記錄游標(cursor)是建立在哪一端,內定
是adUseServer
CursorType
設定或傳回記錄游標的型態,內定是
adOpenForward
LockType
設定或傳回記錄所定(locking)的方式,內定是
adLockReadOnly
MaxRecords
傳回記錄的最大筆數
PersistFormat
當呼叫Recordset物件的Save方法時,所要儲存的
方式(現在ADO 2.0版只支援adPersistADTG的
方式,未來可能會支援更多種方式)
RecordCount
傳回當下recordset物件內所含的記錄筆數
State
傳回當下recordset物件的狀態
Recordset物件方法
Recordset物件方法
說明
Open
執行一個SQL命令,並開啟記錄游標
Close
關閉Recordset物件(這並不會完全釋放資源,若要釋放
必須要參考它的變數設為Nothing)
Requery
重新執行SQL命令並重建Recordset物件
Resync
更新Recordset物件快取中的記錄
Save
將開啟的Recordset內的記錄存到一個磁碟上的檔案,供
再次開啟使用。
利用Connection物件和Command物
件來產生Recordset物件
 以下這種方法並不好,此範例的目的僅僅是
要展示如何將ADO三個主要物件搭配使用。
若僅僅要傳回Recordset,利用connection
物件的Execute方法直接產生便可

Dim cmd As New ADODB.Command
Dim cnn As New ADODB.Connection
Dim rec As New ADODB.Recordset
With cnn
'提供連結到SQL Server:Ui01的資訊
. .Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=C:\Program Files\Microsoft Visual Studio\VB98\nwind.mdb"
.Open
End With
With cmd
'設定Command的SQL命令
.ActiveConnection = cnn
.CommandText = "SELECT * FROM titles"
'透過Command物件的Execute方法自SQL Server取回記錄並放入Recordset物件
Set rec = .Execute
End With
Dim i As Integer
With rec
While Not .EOF
For i = 0 To .Fields.Count - 1
'列印出結果
Debug.Print .Fields(i) & " | ";
Next i
Debug.Print
.MoveNext
Wend
End With
利用Recordset物件自己的Open方法

Dim cnn As New ADODB.Connection
Dim rec As New ADODB.Recordset
With cnn
'提供連結到SQL Server:Ui01的資訊
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=C:\Program Files\Microsoft Visual
Studio\VB98\nwind.mdb"
.Open
End With


With rec
'設定開啟的模式
.CursorLocation = adUseClient
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open "SELECT * FROM titles", cnn
End With
利用Connection物件的Execute方法
產生Recordset物件
 程式碼範例如下
 Dim cnn As New ADODB.Connection
Dim rec As New ADODB.Recordset
With cnn
'提供連結到SQL Server:Ui01的資訊
. .Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=C:\Program
Files\Microsoft Visual Studio\VB98\nwind.mdb"
.Open
Set rec = .Execute("SELECT * FROM titles")
End With
將資料呈現給使用者
 有兩種方式你可以將透過Recordset物件取回
的資料呈現給使用者,一個是撰寫程式去填
入控制項(control)的屬性如Text box的Text屬
性,或是直接利用控制項的一些屬性如
DataSource、DataField等等來將控制項與
Recordset綁在一起(Data Binding)。
參照Recordset物件內的各個欄位
 程式碼範例如下
 Dim rec As New ADODB.Recordset
With rec
.Open "SELECT * FROM titles", "Provider=SQLOLEDB;Data
Source=ui01;Initial Catalog=pubs;User
ID=sa;Password=;",
adOpenKeyset, adLockOptimistic
End With
With rec
While Not .EOF
'列印出結果
Debug.Print rec!Title & " | " & rec.Fields("price")
.MoveNext
Wend
End With
 以下利用VB的內定控制項TextBox來呈現資料
 Text1.Text = rec!Title
Text2.Text = rec!price
將控制項綁到Recordset物件
 Visual Basic提供一項新的功能就是大部分的控制項(稱呼為
資料感知控制項data-aware control)都可以直接與ADO的
Recordset物件綁在一起﹔如同你將控制項與ActiveX Data
Control綁在一起一樣。當使用者移動Recordset物件內的記
錄游標時,所有綁在一起的控制項都會自動地一起改變。
 程式範例如下
 Set Text1.DataSource = rec
Text1.DataField = "title"
Set Text2.DataSource = rec
Text2.DataField = "price"
瀏覽Recordset物件中的記錄
 在ADO所提供的各種物件中,只有Recordset
物件提供使用者做上一筆、下一筆、第一筆、
最後一筆等等這一類的瀏覽記錄方式,一次
只針對一筆資料運作。
Recordset物件中與瀏覽相關的屬性
屬性名稱
說明
AbsolutePage
設定或傳回當下記錄所在的絕對(absolute)的資料頁
(page)
AbsolutePosition
設定或傳回當下記錄所在的絕對(absolute)位置(這
會受資料增加或刪除的影響
BOF
顯示當下的游標是否已經移出第一筆記錄的邊界
Bookmark
傳回當下記錄的特殊定址標籤,這個屬性可以讓記
錄游標移到特定的一筆記錄。
EOF
顯示當下的游標是否已經移出最後一筆記錄的邊界
Recordset物件中與瀏覽相關的方法
方法名稱
說明
Move
將記錄游標向前或向後移到特定的一筆記錄
MoveFirst
將記錄游標移到第一筆記錄
MoveLast
將記錄游標移到最後一筆記錄
MoveNext
將記錄游標向後移一筆記錄
MovePrevious
將記錄游標向前移一筆記錄
注意:若記錄游標的型態(CursorType )是adForwardOnly,則只能用MoveNext方法
程式碼範例如下

Dim rec As New ADODB.Recordset

Private Sub cmdFirst_Click()
'移到第一筆記錄
rec.MoveFirst
End Sub
Private Sub cmdLast_Click()
'移到最後一筆記錄
rec.MoveLast
End Sub

Private Sub cmdNext_Click()
'向後移動一筆記錄
With rec
.MoveNext
'如果向後移超過最後一筆資料,便將資料游標停在最後一筆記錄上
If .EOF Then
.MoveLast
End If
End With
End Sub

Private Sub cmdPrevious_Click()
'向前移動一筆記錄
With rec
.MovePrevious
'如果向前移超過第一筆資料,便將資料游標停在第一筆記錄上
If .BOF Then
.MoveFirst
End If
End With
End Sub
Private Sub Command1_Click()
'取得資料記錄
With rec
.Open "SELECT * FROM titles", "Provider=SQLOLEDB;Data
Source=ui01;Initial Catalog=pubs;User ID=sa;Password=;", adOpenKeyset,
adLockOptimistic
End With
Set Text1.DataSource = rec
Text1.DataField = "title"
Set Text2.DataSource = rec
Text2.DataField = "price"
End Sub
排序和查詢資料
 使用Recordset物件的Sort屬性,你可以定義已經存在的
Recordset物件顯示記錄的順序。這可以減少重新向資料來
源要資料,尤其若需要透過網路來重要相同﹔但是以另一種
排序方式的資料是相當沒有效率的。
 注意:若要搭配Microsoft SQL Server使用Recordset物件
的Sort屬性,則必須要指定使用使用者端(.CursorLocation
= adUseClient)的游標。因為這種使用方式要看資料提供者
支不支援,而SQL Server並不支援。
 套用Sort屬性時,你可以關鍵字ASC和DESC來指定是遞增
排序還是遞減排序。設定Sort屬性內容時,可以比照SQL述
句的Order子句。
 以下程式碼按照title欄位做遞增的排序
 rec.Sort = "title ASC"
 取消排序的設定
 取消原先的排序設定只要將Sort屬性的內容
設為空字串("")便可
 程式碼範例如下
 rec.Sort = ""
過濾記錄
 透過Filter屬性,你可以限制現有的Recordset呈現的內容。
原有在recordset中的記錄通通還存在記憶體中,但只有符合
過濾條件的記錄才會呈現出來。設定Filter屬性內容時,可以
比照SQL述句的Where子句。
 以下是程式碼範例,透過此過濾條件,則只有書名是以c開
頭的才會出現
 rec.Filter = "title Like 'c%'"
 取消過濾條件
 取消過濾條件以還原原先Recordset資料的存取範圍,只要
將Filter屬性設為adFilterNone常數便可
 程式碼範例如下
 rec.Filter = adFilterNone
找尋記錄
 雖然Filter屬性可以用來群組出一群符合條件的記錄,但若
只要查詢某一筆特殊的記錄,則要用Find方法,來找出符合
搜尋條件的記錄。
 Find搜尋滿足特定準則之記錄的 Recordset。如果符合此準
則,則 Recordset 位置會設定在找到的資料錄上;否則,該
位置就會設定在 Recordset 的尾端。
 語法
 Find (criteria[, SkipRows] [, searchDirection] [, start])
 程式碼範例如下,記錄指標將會停在第一筆作者的
last_name為'White'的記錄上
 rec.Find "au_lname='White'"
 注意:若是設定字串值,則以單引號(')括起來,若是定義日
期型態,則以井字號(#)括起來。
下表列出Find方法所支援的參數
參數名稱
說明
Criteria
包含了指定資料行名稱、比對運算子,及要在搜尋中
使用值之陳述式的 String
SkipRows
一個選擇性的 Long 值,預設值為零,其指定從目前
資料列或 start 書籤到搜尋開端的距離
searchDirection
一個選擇性 SearchDirectionEnum 值,其指定搜尋
應從目前資料列開始,或是從下一個搜尋方向中可
用的資料列開始。其值可能為 adSearchForward
或 adSearchBackward。搜尋動作會停止於
Recordset 的開頭或尾端,端視 searchDirection
的值而定
Start
一個選擇性的 Variant 書籤,用於作為搜尋的起始位
置
 子句的各部分可以填的值FieldName欄位的名稱
Operator=,<,>,likeValue日期、字串或數值型態的
值
子句的各部分
可以填的值
FieldName
欄位的名稱
Operator
=,<,>,like
Value
日期、字串或數值型態的值
注意:你可以Find方法和Sort、Filter屬性一起使用,以提供最佳的查詢方式
修改資料
 用Execute方法
 當你要修改資料來源的資料時,你可以透過SQL述
句或是Recordset物件(它提供了一些方法來更改資
料)。當有大筆資料都要一起修改時,使用SQL述句
是最佳的方式。
 你可以透過Connection或Command的Execute方
法來執行SQL述句,如果這個SQL述句將只會被執
行一次,則使用Connection物件是最好的選擇。若
這個SQL述句將會被執行多次,則可以使用
Comand物件。
插入新的記錄
 程式碼範例如下
 Dim cnn As ADODB.Connection
Set cnn = New ADODB.Connection
With cnn
.ConnectionString = "Provider=SQLOLEDB;Data
Source=ui01;Initial Catalog=pubs;User Id=sa;Password=;"
.Open

'執行SQL Insert命令
.Execute "INSERT INTO
authors(au_id,au_lname,au_fname,contract) VALUES
('111-11-1111','Green','Blue',0)"
End With
更新記錄
 你可以使用與前述新增記錄一樣的方式來更
新記錄內容,這次是使用SQL的Update語法
 程式碼範例如下
 .Execute "UPDATE authors SET
au_lname='black' WHERE au_id='111-111111'"
刪除記錄
 以使用與前述一樣的方式來刪除某筆記錄內
容,這次使用SQL的Delete語法
 程式碼範例如下
 .Execute "DELETE FROM authors WHERE
au_id='111-11-1111'"
使用Recordset物件
 使用Recordset物件來做資料的更動是因為要以逐
筆的方式來做新增、修改和刪除的動作。與前述利
用Connection物件執行SQL述句以批次方式一次更
動多筆記錄的方式不同。
 新增一筆記錄
 利用Recordset來增加一筆記錄需要兩個步驟。先
是利用AddNew方法產生一筆空的新紀錄,編輯內
容後再以Update方法將內容傳回到資料來源端。
 注意:Recordset物件的CursorType和LockType屬
性一定要設定正確,否則可能無法呼叫AddNew、
Update或是Delete方法。
程式碼範例如下
 With rec
.CursorLocation = adUseClient
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open "SELECT au_id,au_lname,au_fname,contract FROM authors",
"Provider=SQLOLEDB;Data Source=ui01;Initial Catalog=pubs;User
Id=sa;Password=;"
.AddNew
.Fields(0) = "111-11-1111"
.Fields(1) = "Black"
.Fields(2) = "Blue"
.Fields(3) = 0
.Update
End With
 使用了AddNew方法若要放棄可以使用CancelUpdate方法,使用了
Update方法後就會存到資料來源端
刪除一筆記錄
 要刪除一筆記錄直接利用Recordset物件的
Delete方法,與新增和修改不同的是它只有
一步驟,不需要Update來確認。
 程式碼範例如下
 rec.Delete
 在刪除一筆記錄後,你應該要讓記錄游標不
要停在空的記錄上,並在向後移一筆記錄後,
確認一下記錄游標是否停在EOF的位置。
程式碼範例如下
 With rec
.MoveNext
'如果向後移超過最後一筆資料,便將資
料游標停在最後一筆記錄上
If .EOF Then
.MoveLast
End If
End With
修改一筆記錄
 要修改一筆記錄必須要先定義記錄游標當下
指的記錄的哪些欄位要修改成新的什麼值。
之後,如同新增一筆記錄,透過Update來確
認修改的動作。
 注意:與DAO和RDO不同的是,ADO的
Recordset在修改前不需要先呼叫Edit方法
程式碼範例如下
 With rec
.Fields(0) = "222-11-1111"
.Update
End With