應(yīng)用舉例
以上介紹了用dao訪問遠(yuǎn)程數(shù)據(jù)庫的具體操作,下面通過一個例子說明鏈接遠(yuǎn)程表和建立記錄集對象的方法。
首先建立一個新工程,在窗體上畫5個命令按鈕,1個數(shù)據(jù)控件和1個數(shù)據(jù)網(wǎng)格控件(dbgrid)。各對象的屬性設(shè)置見表1。
表1 窗體1對象屬性設(shè)置
對 象
標(biāo) 題(caption)
名 稱(name)
窗體
遠(yuǎn)程數(shù)據(jù)訪問
form1
命令按鈕1
鏈接遠(yuǎn)程表
cmd 鏈接
命令按鈕2
添加
cmdadd
命令按鈕3
刪除
cmddel
命令按鈕4
修改
cmdmodify
命令按鈕5
結(jié)束
cmdend
數(shù)據(jù)控件
data1
data1
數(shù)據(jù)網(wǎng)格
dbgrid1
其中dbgrid1中的datasource屬性設(shè)為data1,命令按鈕2,3,4的visible屬性設(shè)為false。
三、應(yīng)用舉例
編寫如下事件過程:
private sub cmdadd_click() ’ 添 加 記 錄 子 過 程
on error goto errhandler
with rst
.addnew
for i = 0 to .fields.count - 1 ’ 遍 歷 記 錄 集 中 的 每 個 字 段
’ 在 輸 入 框 中 輸 入 各 字 段 的 數(shù) 據(jù)
.fields(i).value = inputbox
(" 輸 入 記 錄 信 息" & vbcr + " 字 段 名:" + .fields(i).name)
next i
.update
end with
data1.refresh
dbgrid1.rebind
errhandler: ’ 錯 誤 處 理
select case err
case 3022, 3421
msgbox (error + vbcr + " 輸 入 無 效")
exit sub
case else
response = 0
exit sub
end select
end sub
private sub cmddel_click() ’ 刪 除 記 錄 過 程
on error goto errhandler
begintrans ’ 事 務(wù) 處 理
with data1.recordset
if .bof and .eof then exit sub
’ 如 果 沒 有 記 錄, 退 出 過 程
.delete ’ 刪 除
if .bof and .eof then
’ 如 果 沒 有 記 錄, 退 出 過 程
exit sub
elseif .eof then .movelast
’ 如 果 刪 除 的 是 最 后 一 條 記 錄, 光 標(biāo) 移 至 最 后 一 記 錄
else: .movenext
’ 移 至 下 一 條 記 錄
end if
end with
if msgbox(" 確 實 要 刪 除 這 一 記 錄 ?",
vbquestion + vbyesno) = vbyes then
committrans ’ 確 認(rèn)
data1.refresh
else
rollback ’ 撤 消 改 動
data1.refresh
end if
errhandler: ’ 錯 誤 處 理
select case err
case 3021 ’ 無 當(dāng) 前 記 錄
msgbox (" 無 當(dāng) 前 記 錄, 請 選 擇 要 刪 除 的 記 錄")
exit sub
case else
msgbox (error)
exit sub
end select
end sub
private sub cmdend_click()
end ’ 結(jié) 束 應(yīng) 用 程 序
end sub
private sub cmdmodify_click()
dbgrid1.allowupdate = true ’ 允 許 修 改
end sub
privatev sub cmd 鏈 接_click()
form1.hide
form2.show
end sub
相關(guān)推薦:全國計算機等級考試將于3月28日至4月1日舉行北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |