《控制项与存取物件.ppt》由会员分享,可在线阅读,更多相关《控制项与存取物件.ppt(21页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、资料控制项与资料存取物件 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望資料控制項與資料存取物件資料庫控制項(Adodc)直接設定ConnectionString與RecordSource屬性設定ADO物件後將Recordset物件指定給資料庫控制項(Adodc)資料控制項與資料存取物件ADO物件顯示元件如TEXT設定產生Connection與Recordset物件UI範例Command1_click設定DataSource與DataField屬性ADO ADOD
2、C範例Private Sub Command1_Click()連結資料庫 Set cn=New ADODB.Connection cn.ConnectionString=Provider=Microsoft.Jet.OLEDB.4.0;_&Data Source=C:VB6DBBook.mdb cn.Open 取得資料集 Set rs=New ADODB.Recordset rs.Open 書籍,cn,adOpenStatic 設定ADO物件取得資料集 要設定成adOpenStatic Set adoBook.Recordset=rsEnd SubADO直接顯示範例Private Sub Co
3、mmand1_Click()連結資料庫 Set cn=New ADODB.Connection cn.ConnectionString=Provider=Microsoft.Jet.OLEDB.3.51;_&Data Source=C:VB6DBBook.mdb cn.Open 取得資料集 Set rs=New ADODB.Recordset rs.Open 書籍,cn,adOpenStatic 設定連結控制項的屬性 Set Text1.DataSource=rs Text1.DataField=書名書名 Set Text2.DataSource=rs Text2.DataField=作者作者
4、 Set Text3.DataSource=rs Text3.DataField=分類分類 Set Text4.DataSource=rs Text4.DataField=出版社出版社“End SubADO物件對資料庫的操作操作項目:資料錄的移動資料錄的編輯新增資料錄刪除資料錄搜尋資料錄篩選資料錄資料排序對象都是目前紀錄(Current Record)資料的移動使用Move方法語法:Recordset.Move skipRecords,StartskipRecords:移動時要跳過幾筆記錄+表示向最後一筆資料方向移動表示向第一筆資料方向移動Start:移動的起始位置,預設為目前紀錄adBook
5、markFirst,以第一筆紀錄為起始點adBookmarkLast,以最後一筆紀錄為起始點注意移動過程可能會有超過BOF或EOF的錯誤狀況產生範例範例Private Sub Form_Load()連結資料庫 Set cn=New ADODB.Connection cn.ConnectionString=Provider=Microsoft.Jet.OLEDB.4.0;_&Data Source=C:VB6DBBook.mdb cn.Open 取得資料集 Set rs=New ADODB.Recordset rs.Open 書籍,cn,adOpenStatic DataGrid控制項取得資料集
6、以顯示記錄 要指定給datagrid一定要設定成adOpenStatic Set DataGrid1.DataSource=rs End Sub範例.Click 按鈕:前一筆 時所觸發的事件程序Private Sub cmdPrevious_Click()rs.MovePrevious 若已移動到檔案的開頭 If rs.BOF=True Then rs.MoveFirst End IfEnd Sub.Click 按鈕:下一筆 時所觸發的事件程序Private Sub cmdNext_Click()rs.MoveNext 若已移動到檔案的結尾 If rs.EOF=True Then rs.Mov
7、eLast End IfEnd Sub編輯紀錄Supports方法判斷目前的資料庫(Recordset物件)是否可以編輯語法:Booleanrecordset.Supports(CursorOptions)其中CursorOptions可以是adUpdate:更新adAddnew:新增adDelete:刪除adMovePrevious:向前移動adBookmark:標定Bookmark範例If rs.supports(adUpdate)then ret=msgbox(“可以進行更新作業”,49,“更新訊息”)Elseret=msgbox(“不可以進行更新作業”,49,“更新訊息”)End if
8、資料更新Update方法可以對資料庫(Recordset物件)進行資料更新語法:recordset.Update 欄位名稱,新欄位值 或Recordset(“欄位名稱”)=值Recordset.update注意欄位名稱的寫法與資料型態範例6-6更改book.mdb資料庫中書籍資料表中目前紀錄的書名欄位值rs.Update“書名”,Text1.text欄位名欄位值新增資料Addnew方法可以對資料庫(Recordset物件)進行資料新增作業語法:recordset.Addnew 欄位名稱,新欄位值或Recordset.addnew recordset(“欄位名稱”)=值Recordset.upd
9、ate注意欄位名稱的寫法與資料型態範例在book.mdb資料庫中的書籍資料表中新增一筆紀錄(只新增一個欄位)rs.Addnew“書名”,Text1.text範例在book.mdb資料庫中的書籍資料表中新增一筆紀錄(新增多個欄位)rs.Addnew rs!書碼=Text1.text rs!書名=Text2.text .rs.Update刪除資料Delete方法可以對資料庫(Recordset物件)進行資料刪除作業刪除目前紀錄語法:Recordset.Delete範例rs.Deleters.MovenextIf rs.eof then rs.movelastEnd if 目前紀錄會消失目前紀錄再度出現Do Until rs.eof rs.Delete rs.MovenextLoop刪除所有紀錄搜尋作業從資料庫中找到符合條件的資料Find方法找出資料庫(Recordset物件)中符合條件的第一筆記錄語法:Recordset.Find 條件,Skiprows,SearchDirection,start找不到資料時會變成EOF或BOF狀態,所以可以藉此判定是否有找到資料
限制150内