資料庫程式設計 VB資料庫設計簡介 週次:3 建國科技大學 資管系 饒瑞佶
再探ADODC 使用ADODC透過ODBC來源名稱來載入資料庫
再探ADODC 使用ADODC透過ODBC來源名稱來載入資料庫
再探ADODC 使用ADODC透過ODBC來源名稱來載入資料庫
再探ADODC 使用ADODC透過ODBC來源名稱來載入資料庫
再探ADODC 使用ADODC透過ODBC來源名稱來載入資料庫
再探ADODC 使用ADODC透過ODBC來源名稱來載入資料庫
再探ADODC 使用ADODC透過ODBC來源名稱來載入資料庫
Practice
ODBC 開放式資料庫連結(Open DataBase Connectivity, ODBC) MS為解決不同後端資料庫連結所發展的一種整合技術 可以把ODBC視為一種Driver 使用者JET ODBC 後端JET 任何資料庫所用的ODBC需由該廠商提供(和Driver相同) VB SQL ODBC Oracle ODBC Sybase ODBC 在用戶端設定 SQL Oracle Sybase
設定ODBC
設定ODBC
設定ODBC 使用者資料來源名稱
設定ODBC
設定ODBC
設定ODBC
使用ODBC
Practice
Adodc透過程式控制資料庫 Connection物件:用以連接資料庫 Recordset物件:取得資料來源 Command物件:儲存操作資料庫時用到的命令 Parameter物件:管理查詢或預儲程式 Field物件:儲存欄位資料 Error物件:處理錯誤訊息 需透過上述的子物件達成
VB中與資料庫相關物件 Field物件(與欄位對應) 屬性 :Name與Value Field物件 Name Value
VB中與資料庫相關物件 Recordset物件(與資料對應) 方法 :MoveNext MovePrevious MoveFirst MoveLast EOF BOF
物件間相對關係 ADODC Recordset Fields Field ADODC1.Recordset 存取Recordset物件 ADODC1.Recordset.Fields 存取Fields物件 ADODC1.Recordset.Fields (i) 存取第i個Field物件 ADODC1.Recordset.Fields (i).value 存取第i個Field物件的值
Recordset物件 Recordset是資料錄的集合 資料錄是欄位的集合 所以利用Recordset便可以存取每一筆資料的每個欄位
資料控制項程式的撰寫 Adodc1.RECORDSET.方法 方法: Movefirst, Movenext, Moveprevious, Movelast Addnew, Edit, Update, Recordcount ….. Adodc1.RECORDSET(目前資料列欄位編號) 練習使用Adodc資料庫控制項與資料連結控制項來操作資料 Ex04_02_01, p.4-5
Practice 存取目前資料錄 克服沒有資料錄的問題(移動過頭了) Ex04_02_02, p.4-8
Recordset存取欄位值的方法 ADODC1.Recordset.Fields (i).value 存取第i個Field物件的值 敘述 說明 Recordset.fields(“欄位名稱”) 省略.value Recordset(“欄位名稱”) 省略.fields Recordset![欄位名稱] Recordset(“欄位名稱”)再變形 注意沒有雙引號 不可用變數取代 多用此形式
Recordset資料的增刪修改 刪除:Recordset.Delete Adodc1.Recordset.Delete 注意刪除後因為目前資料錄便不存在,所以要再呼叫Movexxx之類的方法,重新取得目前資料錄 Ex04_03_04, p.4-38
Recordset資料的增刪修改 修改: Adodc1.Recordset(“欄位名稱”)=新值 Adodc1.recordset.update Ex04_03_01, p.4-23 Ex04_03_02, p.4-29
Recordset資料的增刪修改 新增: Adodc1.Recordset.Addnew Adodc1.recordset.update Ex04_03_03, p.4-33
Recordset資料的查詢 搜尋: Adodc1.Recordset.Find 條件,skiprows,搜尋方向,起始位置 條件:如學號=1001 條件=欄位名稱 比較符號 比較資料 skiprows :跳過幾筆資料再開始,預設值=0 搜尋方向:adSearchForward向下或是adSearchBackward向上,預設為向下 起始位置:預設為目前資料錄
條件式補充 資料型態 條件式 數值 “學號=1001” 字串 “姓名=‘王小明’” 日期與時間 “入學日期=#2000/3/5#” 比較資料類型 資料型態 條件式 數值 “學號=1001” 字串 “姓名=‘王小明’” 日期與時間 “入學日期=#2000/3/5#” 可以用程式中的變數取代
條件式補充 比較符號 =, <>, >, <, >=, <=, LIKE(配合%, *, _等字元使用) SQL語法處會更詳細介紹
Recordset資料的查詢 Adodc1.Recordset.Find "customerid='" & Text2.Text & "'", 0, adSearchBackward ‘ 判斷是否有找到 If Adodc1.Recordset.EOF Or Adodc1.Recordset.BOF Then MsgBox "not ok" Else MsgBox "ok" End If