初識vb資料庫開發之執行個體2(建立記錄瀏覽視窗)

來源:互聯網
上載者:User

製作特點

使用ADO訪問資料來源-特點

1.通過ODBC資料來源訪問資料庫,代表了如何建立關聯式資料庫的ODBC資料來源

2使用ADO RecordSet對象儲存資料,執行update方法即時更新

3通過文字框和按鈕事件完成資料顯示和修改

 

設計分析

      其實使用ADO可以直接翻跟Access 2000資料庫(系統登入),本勢力通過ODBC資料來源訪問期末地就是要說明如何建立和訪問關聯式資料庫的ODBC資料來源

     使用ADO更新資料來源的方法

1 將資料檢索儲存到RecordSet對象中,用Update方法進行更新。如果使用中斷連線的Recordset對象,則用UpdateBatch方法進行更新

2 用Command對象執行SQL資料更新命令,這是不需要使用RecordSet對象或使用其他方法將資料檢索到本機電腦

 

技術要領

RecordSet的Locktype 屬性用於指定記錄鎖類型

     adLockReadOnly:預設值,唯讀,無法更新資料

     adLockPessimistic:保守式記錄鎖定,在編輯記錄時立即鎖定資料來源的記錄

     adLockOptimistic:開放式記錄鎖定,在執行Update方法時鎖定記錄

     adLockBatchOptimistic:開放式批更新,表示RecordSet用UpdateBatch方法更新多個記錄,即在執行UpdateBatch方法時鎖定記錄

 

Recordset 的暫存資料表位置(CursorLocation屬性用於指定暫存資料表位置)可設定為

     adUseClient :用戶端暫存資料表,可以提供重新排序和使用索引尋找記錄等特有功能

     adUseServer:伺服器端暫存資料表 ,由伺服器端的被檢索的資料來源維護

註:ADO中的RecordSet預設為伺服器端的單向唯讀暫存資料表

 

瀏覽RecordSet中的記錄

       瀏覽RecordSet中的記錄需要兩個步驟。首先,定位目前記錄,RecordSet開啟時第一個記錄為目前記錄,然後用Field對象獲得目前記錄的各個資料列

      RecordSet對象可用下列5個方法定位目前記錄

      1.MoveFirst:使記錄指標指向第一個記錄                     

      2.MoveNext:使用記錄指標指向下一個記錄

      3.MovePrevious:使記錄指標指向前一個記錄

      4.MoveLast:使記錄指標指向最後一個記錄

      5.Move n:使記錄指標指向從目前記錄算起的第n個記錄

      註:在瀏覽RecordSet時,Bof屬相為true表示記錄指標指向第一個記錄之前,Eof屬性為true時表示記錄指標指向最後一個記錄之後。這兩個屬性還可以用於測試RecordSet是否為空白。

 

ODBC資料來源類型

 使用者DSN :電腦本機資料源,只能被目前使用者使用。

系統DSN:電腦本機資料源,可被任何就有許可權的使用者使用

檔案DSN:可以不是電腦本機資料源,可被安裝了相同驅動程式的使用者共用

註:connection對象在建立資料來源串連時,預設使用MSDASQL驅動程式,所以在連接字串中只需指定資料來源名稱即可例如:

objCn.Open"DSN=myaccess"   '建立資料庫連接

 

操作過程

 

1建立OODBC資料來源

 

選擇系統“開始”->程式  ->管理工具->資料來源

單擊添加按鈕,選擇Microsoft Access Driver

 

單擊完成按鈕,開啟安裝對話方塊

在資料來源名文字框中輸入“執行個體2DSN”作為建立資料來源的名稱,在說明文字框中輸入“執行個體2的Access資料來源”,單擊選擇按鈕

單擊確定關閉對話方塊

如果要為ODBC資料來源設定登入名稱稱和密碼等道濟選項,可單擊進階按鈕,開啟進階選項設定

如果使用Access資料庫帶有系統資料庫,則應選擇“ODBC
Microsoft Access安裝”對話方塊中的資料庫,然後單擊系統資料庫按鈕

如果要設定驅動程式的附加選項,包括頁逾時,緩衝區大小,獨佔區大小,獨佔和唯讀等,單擊

“ODBC Microsoft Access安裝”對話方塊中的選項按鈕,在對話方塊底部顯示驅動序附加選項

單擊確定按鈕關閉安裝對話方塊,建立的執行個體2DSN資料來源顯示在“ODBC資料來源管理器”對話方塊列表中

單擊確定按鈕關閉“OBDC資料來源管理器”對話方塊,完成資料來源建立操作

 

設計記錄瀏覽表單

 注:最底下的那個文字框的locked的屬性設定為true

 

建立ADO引用

工程->引用 選擇Microsoft ActiveX Data Objects 2.5 Library

 

編寫代碼

Dim objrs As RecordsetDim objcn As ConnectionDim isNeedSave As Boolean '用於標識是否需要執行儲存操作'添加前一記錄的代碼。使用者單擊按按鈕時先儲存目前記錄的修改,然後使前一個記錄為目前記錄Private Sub Command1_Click()  DoSave  objrs.MovePrevious  If objrs.BOF Then objrs.MoveFirst  '顯示目前記錄  txtUserName = objrs.Fields("使用者名稱").Value  txtPassword = objrs.Fields("口令").Value  txtMsg = objrs.AbsolutePosition & "/" & objrs.RecordCount  End Sub'添加後一記錄的代碼。使用者單擊按按鈕時先儲存目前記錄的修改,然後使下一個記錄為目前記錄Private Sub Command2_Click()   DoSave  objrs.MoveNext  If objrs.EOF Then objrs.MoveLast  '顯示目前記錄  txtUserName = objrs.Fields("使用者名稱").Value  txtPassword = objrs.Fields("口令").Value  txtMsg = objrs.AbsolutePosition & "/" & objrs.RecordCount  End Sub'建立資料來源串連,並檢索資料,將檢索到的第一個記錄顯示在表單中Private Sub Form_Load()  Set objcn = New Connection  '執行個體化connection對象  '串連資料庫  objcn.Open "DSN= 執行個體2DSN"   Set objrs = New Recordset '建立用戶端的記錄集    With objrs       .CursorLocation = adUseClient '指定暫存資料表位置       .CursorType = adOpenDynamic   '指定使用鍵集遊標       .LockType = adLockOptimistic  '指定鎖定類型       .Open "SELECT*FROM 系統使用者", objcn  End With  '顯示第一個記錄集  txtUserName = objrs.Fields("使用者名稱").Value  txtPassword = objrs.Fields("口令").Value  txtMsg = objrs.AbsolutePosition & "/" & objrs.RecordCount  End Sub'定義一個過程執行資料更新操作Private Sub DoSave()  If isNeedSave Then     objrs.Fields("使用者名稱").Value = txtUserName     objrs.Fields("口令").Value = txtPassword     objrs.Update   '執行更新操作  End IfEnd Sub'如果修改了資料,則設定isneedsave為truePrivate Sub txtPassword_Change()  isNeedSave = True   '在修改目前記錄欄位時,設定儲存標識End SubPrivate Sub txtUserName_Change()  isNeedSave = True   '在修改目前記錄欄位時,設定儲存標識End Sub'Unload 事件代碼,在表單關閉時釋放資料庫的串連和ADO對象Private Sub From_Unload(Cancel As Integer)  Set objrs = Nothing    '釋放記錄集對象  objcn.Close         '釋放資料庫連接  Set objcn = Nothing '釋放連線物件End Sub

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.