下面这个VB中远程数据库的访问(3)-应用举例教程由图老师小编精心推荐选出,过程简单易学超容易上手,喜欢就要赶紧get起来哦!
【 tulaoshi.com - 编程语言 】
三、应用举例其中dbgrid1中的datasource属性设为data1,命令按钮2,3,4的visible属性设为false。
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)三、应用举例
编写如下事件过程:
privatesubcmdadd_click()'添加记录子过程
onerrorgotoerrhandler
withrst
.addnew
fori=0to.fields.count-1'遍历记录集中的每个字段
'在输入框中输入各字段的数据
.fields(i).value=inputbox
("输入记录信息"&vbcr "字段名:" .fields(i).name)
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
来源:http://www.tulaoshi.com/n/20160219/1600984.html
看过《VB中远程数据库的访问(3)-应用举例》的人还看了以下文章 更多>>