资料库程式设计.ppt

上传人:小飞机 文档编号:5318737 上传时间:2023-06-25 格式:PPT 页数:36 大小:418.82KB
返回 下载 相关 举报
资料库程式设计.ppt_第1页
第1页 / 共36页
资料库程式设计.ppt_第2页
第2页 / 共36页
资料库程式设计.ppt_第3页
第3页 / 共36页
资料库程式设计.ppt_第4页
第4页 / 共36页
资料库程式设计.ppt_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《资料库程式设计.ppt》由会员分享,可在线阅读,更多相关《资料库程式设计.ppt(36页珍藏版)》请在三一办公上搜索。

1、資料庫程式設計,VB資料庫設計簡介週次:5建國科技大學 資管系 饒瑞佶,資料控制項與資料存取物件,資料庫控制項(Adodc或DATA)提供的功能有限方便,使用者不需要額外撰寫程式資料存取物件(ADO)功能較完整需要撰寫程式碼,二者可以交互使用,半自動,完全手動,資料控制項與資料存取物件,資料庫控制項(Adodc)直接設定ConnectionString與RecordSource屬性設定ADO物件後將Recordset物件指定給資料庫控制項(Adodc),範例5-4,Command1_click,設定DataSource與DataField屬性,範例5-4,Private Sub Command

2、1_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 設定ADO物件取得資料集 Set adoBook.Recordset=rsEnd Sub,資料控制項與資料存取物件,ADO物件,顯示元件如TEXT,設定產生Connection與Recordset物件,範例5-

3、4,範例5-6,範例5-6,Command1_click,設定Datasource與DataField屬性,範例5-6,Private Sub Command1_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.DataS

4、ource=rs Text1.DataField=書名 Set Text2.DataSource=rs Text2.DataField=作者 Set Text3.DataSource=rs Text3.DataField=分類 Set Text4.DataSource=rs Text4.DataField=出版社“End Sub,資料控制項與資料存取物件,範例5-7,Private rs As ADODB.RecordsetPrivate Sub Command1_Click()取得 RecordSet 物件 Set rs=adoBook.Recordset 顯示RecordSet 物件的內容

5、 For i=0 To 4 Picture1.Print rs!書名 rs.MoveNext Next iEnd Sub,ADO物件對資料庫的操作,操作項目:資料錄的移動資料錄的編輯新增資料錄刪除資料錄搜尋資料錄篩選資料錄資料排序,對象都是目前紀錄(Current Record),資料的移動,目前紀錄在資料庫中的移動範圍:BOFEOF,BOF,第一筆,第二筆,最後一筆,EOF,.,資料庫最上方,資料庫最下方,資料的移動,使用Move方法語法:Recordset.Move skipRecords,StartskipRecords:移動時要跳過幾筆記錄+表示向最後一筆資料方向移動表示向第一筆資料方

6、向移動Start:移動的起始位置,預設為目前紀錄adBookmarkFirst,以第一筆紀錄為起始點adBookmarkLast,以最後一筆紀錄為起始點,注意移動過程可能會有超過BOF或EOF的錯誤狀況產生,克服超過BOF或EOF的錯誤,如果超過BOF則將目前紀錄指向最後一筆如果超過EOF則將目前紀錄指向第一筆,如何指向?,克服超過BOF或EOF的錯誤,移動紀錄了使用Move方法外,還可以使用:MoveFirst:移動指向到第一筆紀錄MovePrevious:移動指向到前一筆紀錄MoveNext:移動指向到下一筆紀錄MoveLast:移動指向到最後一筆紀錄,所以當BOF發生時就使用MoveLa

7、st 當EOF發生時就使用MoveFirst,注意CursorType的設定,範例6-2,範例6-2,Private Sub Form_Load()連結資料庫 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 DataGrid控制項取得資料集以顯示記錄 Set DataGrid1.Data

8、Source=rsEnd Sub,範例6-2,.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.MoveLast End IfEnd Sub,資料的移動,Bookmark屬性Do Until rs.EO

9、F 印出目前紀錄的內容rs.MovenextLoop,可以列出所有資料的內容,編輯紀錄,Supports方法判斷目前的資料庫(Recordset物件)是否可以編輯語法:Booleanrecordset.Supports(CursorOptions)其中CursorOptions可以是adUpdate:更新adAddnew:新增adDelete:刪除adMovePrevious:向前移動adBookmark:標定Bookmark,範例6-5,If rs.supports(adUpdate)then ret=msgbox(“可以進行更新作業”,49,“更新訊息”)Elseret=msgbox(“不

10、可以進行更新作業”,49,“更新訊息”)End if,資料更新,Update方法可以對資料庫(Recordset物件)進行資料更新語法:recordset.Update 欄位名稱,新欄位值注意欄位名稱的寫法與資料型態p.6-20,範例6-6,更改book.mdb資料庫中書籍資料表中目前紀錄的書名欄位值rs.Update“書名”,Text1.text,欄位名,欄位值,新增資料,Addnew方法可以對資料庫(Recordset物件)進行資料新增作業語法:recordset.Addnew 欄位名稱,新欄位值注意欄位名稱的寫法與資料型態p.6-20,範例6-7,在book.mdb資料庫中的書籍資料表中

11、新增一筆紀錄(只新增一個欄位)rs.Addnew“書名”,Text1.text,新增空紀錄(沒有任何欄位資料的紀錄)rs.Addnewrs.Update,範例6-8,在book.mdb資料庫中的書籍資料表中新增一筆紀錄(新增多個欄位)rs.Addnew rs!書碼=Text1.text rs!書名=Text2.text.rs.Update,刪除資料,Delete方法可以對資料庫(Recordset物件)進行資料刪除作業刪除目前紀錄語法:Recordset.Delete,範例6-9,rs.Deleters.MovenextIf rs.eof then rs.movelastEnd if,目前紀錄

12、會消失,目前紀錄再度出現,搜尋作業,從資料庫中找到符合條件的資料Find方法找出資料庫(Recordset物件)中符合條件的第一筆記錄語法:Recordset.Find 條件,Skiprows,SearchDirection,start找不到資料時會變成EOF或BOF狀態,所以可以藉此判定是否有找到資料,搜尋作業,語法:Recordset.Find 條件,Skiprows,SearchDirection,start其中條件是由欄位,比較運算子與條件值所組成例如:書名資料庫程式設計文字型態 書碼1數字型態 日期#2003/10/17#日期時間型態,比較運算子,搜尋相似的而不是完全正確的使用Lik

13、e運算子,配合?,*等萬用字元rs.Find“書名 Like?Basic*”,範例6-11,搜尋作業,找到符合條件的第一筆記錄後如何找尋其他也符合的資料?方法:設定Skiprows1省略start,範例6-12,搜尋後取代,將搜尋(Find方法)與更新(Update方法)結合,範例6-14,篩選作業,從資料庫中找到符合條件的資料Filter屬性找出資料庫(Recordset物件)中符合條件的所有記錄語法:Recordset.Filter 條件找不到資料時Recordcount會變成0,所以可以藉此判定是否有找到資料,篩選作業,可以使用複合條件式And,Or,Not書名資料庫程式設計 and日期#2003/10/17#,Rs.Filter=adFilterNone 解除Filter屬性,範例6-16,排序作業,cursorLocation屬性=3可以排序=2不可以排序語法:Recordset.Sort sortorderSortorder由欄位名及關鍵字組成Rs.Sort“書名 ASC”Rs.Sort“書名 DESC”,範例6-19,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号