a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 學院 > 開發設計 > 正文

VB中遠程數據庫的訪問(3)-應用舉例

2019-11-18 17:47:45
字體:
來源:轉載
供稿:網友
三、應用舉例

  以上介紹了用dao訪問遠程數據庫的具體操作,下面通過一個例子說明鏈接遠程表和建立記錄集對象的方法。

  首先建立一個新工程,在窗體上畫5個命令按鈕,1個數據控件和1個數據網格控件(dbgrid)。各對象的屬性設置見表1。

表1窗體1對象屬性設置
-align="middle"width="33">對象->-align="middle"width="33">標題(caption)->-align="middle"width="34">名稱(name)->-width="33">窗體->-width="33">遠程數據訪問->-width="34">form1->-width="33">命令按鈕1->-width="33">鏈接遠程表->-width="34">cmdlink->-width="33">命令按鈕2->-width="33">添加->-width="34">cmdadd->-width="33">命令按鈕3->-width="33">刪除->-width="34">cmddel->-width="33">命令按鈕4->-width="33">修改->-width="34">cmdmodify->-width="33">命令按鈕5->-width="33">結束->-width="34">cmdend->-width="33">數據控件->-width="33">->-width="34">data1->-width="33">數據網格->-width="33">->-width="34">dbgrid1->

其中dbgrid1中的datasource屬性設為data1,命令按鈕2,3,4的visible屬性設為false。

三、應用舉例

編寫如下事件過程:


nexti

.update

endwith

data1.refresh

dbgrid1.rebind

errhandler:'錯誤處理

selectcaseerr

case3022,3421

msgbox(error vbcr "輸入無效")

exitsub

caseelse

response=0

exitsub

endselect

endsub

privatesubcmddel_click()'刪除記錄過程

onerrorgotoerrhandler

begintrans'事務處理

withdata1.recordset

if.bofand.eofthenexitsub

'如果沒有記錄,退出過程

.delete'刪除

if.bofand.eofthen

'如果沒有記錄,退出過程

exitsub

elseif.eofthen.movelast

'如果刪除的是最后一條記錄,光標移至最后一記錄

else:.movenext

'移至下一條記錄

endif

endwith

ifmsgbox("確實要刪除這一記錄?",

vbquestion vbyesno)=vbyesthen

committrans'確認

data1.refresh

else

rollback'撤消改動

data1.refresh

endif

errhandler:'錯誤處理

selectcaseerr

case3021'無當前記錄

msgbox("無當前記錄,請選擇要刪除的記錄")

exitsub

caseelse

msgbox(error)

exitsub

endselect

endsub

privatesubcmdend_click()

end'結束應用程序

endsub

privatesubcmdmodify_click()

dbgrid1.allowupdate=true'允許修改

endsub

privatevsubcmdlink_click()

form1.hide

form2.show

endsub

privatesubdbgrid1_aftercolupdate(byvalcolindexasinteger)

'數據修改后觸發該事件

onerrorgotoerr1

data1.refresh

err1:

selectcaseerr

case0

response=0

caseelse

exitsub

endselect

endsub

privatesubdbgrid1_beforecolupdate

(byvalcolindexasinteger,oldvalueasvariant,cancelasinteger)

'數據修改前觸發該事件

onerrorgotoerrhandler:

begintrans

ifmsgbox("確實要修改這一內容?",vbquestion vbyesno)=vbyesthen

committrans

else

rollback

data1.refresh

endif

errhandler:

selectcaseerr

case0

response=0

caseelse

msgbox(error)

exitsub

endselect

endsub

privatesubform_load()

'在窗體裝入時,網格中的數據不可添加,修改

dbgrid1.allowaddnew=false

dbgrid1.allowupdate=false

endsub

privatesubform_resize()

onerrorresumenext

'當窗體調整時會調整網格

dbgrid1.height=me.scaleheight-data1.height-cmddel.height-30

endsub

在工程中添加一個窗體,在窗體上畫6個標簽,1個命令按鈕(標題為“確認”,名稱為cmd確認),3個文本框和1個組合框。

在窗體的聲明部份輸入以下代碼:

'聲明窗體層變量

dimrodbsasdatabase

dimstrdbasstring,strrodbasstring,strcnasstring,strtdfasstring

dimlinktdfnameasstring

編寫如下事件過程:

privatesubcmdOK_click()

onerrorgotoerrhandler:

strdb=text2.text

'本地數據庫名及路徑

linktdfname=text3.text

'本地數據庫中新建的鏈接遠程表的表名

strcn=strrodb'連接字符串

strtdf=combo1.text'指定遠程數據庫中要訪問的表

'調用linktable過程

calllinktable(strdb,strrodb,strcn,strtdf,linktdfname)

'調用rst_display過程

callrst_display(strdb,linktdfname,form1)

form2.hide

form1.show

form1.caption="遠程數據:" strcn "-" strtdf

'顯示“添加”,“刪除”,“修改”控件

form1.cmdadd.visible=true

form1.cmddel.visible=true

form1.cmdmodify.visible=true

errhandler:

selectcaseerr

case0

response=0

caseelse

msgbox(error vbr "重新輸入")

exitsub

endselect

endsub

privatesubcombo1_gotfocus()

strrodb=text1.text'指定遠程數據庫名及路徑

setrodbs=opendatabase(strrodb)'打開遠程數據庫

'刪除combo1中的內容

ifcombo1.listcount>=1then

fori=combo1.listcount-1to0step-1

combo1.removeitemi

nexti

endif

'把數據庫中的表名加到combo1中

fori=0torodbs.tabledefs.count-1

combo1.additemrodbs.tabledefs(i).name

nexti

endsub

->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产午夜精品一区二区三区嫩草 | 精品国模一区二区三区欧美 | 精品国产乱码久久 | 成人综合在线观看 | 亚洲精品视频在线 | 一本大道久久a久久精二百 羞羞视频在线观免费观看 国产第一区在线观看 | 综合久久亚洲 | 91久久久久久久久久久久久久 | 亚洲在线观看免费视频 | 日韩精品久久 | 成人性大片免费观看网站 | 久久久久女教师免费一区 | 欧美18免费视频 | 国产一级免费在线 | 亚洲高清视频二区 | 亚洲免费在线观看 | 日韩久久一区 | 日韩成人在线看 | 永久免费网站 | 日韩电影一区 | 免费黄色毛片视频 | 国产精品1区2区 | 国产精品无码专区在线观看 | 国产视频一区二区 | 在线免费观看黄色小视频 | 91精品国产人妻国产毛片在线 | 亚洲欧美日韩在线一区 | 欧美一区在线观看视频 | 成人黄色三级视频 | 欧美黑人xx | 欧美福利一区二区 | 欧美一区二区在线 | 亚洲欧美在线免费观看 | 欧美视频在线一区 | 久久黄网站 | 日韩经典一区 | 韩日一级片| 精品视频在线免费观看 | 国产精品永久免费 | 呦呦网| 一区二区三区 在线 |