VB和Oracle的链接.docx
《VB和Oracle的链接.docx》由会员分享,可在线阅读,更多相关《VB和Oracle的链接.docx(16页珍藏版)》请在冰豆网上搜索。
VB和Oracle的链接
实现VB链接Oracle
为了建立VB和Oracle的链接,首先建立ODBC数据源,方法如下:
打开控制面板—性能和维护—管理工具—数据源(ODBC),如图1所示:
图1
切换到系统DSN选项卡,点击添加按钮,如图2所示:
图2
出现创建新数据源对话框,选择MicrosoftODBCforOracle点击完成,如图3所示:
图3
出现MicrosoftODBCforOracleSetup对话框,输入以下的设置,完成数据源的创建,如图4所示:
图4
至此,完成了新数据源的创建,下面实现VB和Oracle的链接,有以下几种方法均可实现:
方案一
首先在Oracle中建立一些数据并保存,查询时存在下面的数据,如图5所示:
图5
新建一个工程,双击Data控件,添加到表空间,如图6所示;
图6
在Data控件上点击鼠标右键,点击属性窗口,如图7所示;
图7
设置属性窗口的属性如图8所示;
图8
在窗体上添加TextBox控件,三个TextBox控件的属性如图9所示:
图9
完成后,窗口的界面如图10所示:
点击运行按钮,如图11所示,完成了VB和Oracle的链接,实现了用VB从Oracle中读取数据。
图10图11
方案二
通过ADODC控件实现VB和Oracle数据库的链接,具体方法如下:
新建工程,点击菜单栏里面的工程/部件按钮,出现如图12所示的部件的控件选项卡,选中如图所示的选项,点击确定按钮。
图12
完成上面的操作步骤后,ADODC控件添加到左边的工具栏里,双击该控件,在表空间中自动出现ADODC控件,如图13所示:
图13
在ADODC控件上单击鼠标右键,选择ADODC属性,如图14所示:
图14
在属性页里面设置,使用名称为misdb的ODBC数据源,如图15所示:
图15
切换到身份验证选项卡,输入用户名称和密码,如图16所示:
切换到记录源选项卡,选择命令类型和表的名称,如图17所示:
图16图17
在窗体上添加三个TextBox控件,分别设置属性,如图18所示:
图18
完成以上的操作步骤,点击运行按钮,出现下面的结果,如图19所示:
图19
方案三
比较灵活的方式是通过引用ADODC控件,编程实现VB与Oracle的链接,具体方法如下:
新建工程,点击菜单工具栏里面的工程/引用,跳出引用对话框,选中途中选项如图20所示:
图20
设计如图21所示的窗体;
图21
设置窗体上控件的属性,如图22所示:
图22
设置窗体的VB代码如下:
OptionExplicit
'定义RS为ADODC对象的记录集
DimRSAsNewADODB.Recordset
'定义conn为ADODC对象的连接
PrivateconnAsADODB.Connection
PrivateSubCmdExit_Click()
conn.Close
Setconn=Nothing
UnloadMe
EndSub
PrivateSubCmdFirst_Click()
RS.MoveFirst
RS.Update
EndSub
PrivateSubCmdLast_Click()
RS.MoveLast
RS.Update
EndSub
PrivateSubCmdNext_Click()
RS.MoveNext
IfRS.EOFThen
RS.MoveLast
RS.Update
EndIf
EndSub
PrivateSubCmdPrevious_Click()
RS.MovePrevious
IfRS.BOFThen
RS.MoveFirst
RS.Update
EndIf
EndSub
'窗体运行时的初始化过程
PrivateSubForm_Load()
'定义connStr为连接字符串
DimconnStrAsString
'定义Cmd为ADODC命令字符串
DimCmdAsNewADODB.Command
Setconn=NewADODB.Connection
connStr="Provider=OraOLEDB.Oracle.1;DSN=misdb;uid=system;pwd=19870326cc;"
conn.ConnectionString=connStr
'按照conn的内容连接数据库
conn.Open"DSN=misdb;uid=system;pwd=19870326cc;"
'查询表cc1的内容
WithCmd
.ActiveConnection=conn
.CommandType=adCmdTable
.CommandText="cc1"
EndWith
'将表cc1的内容送记录集RS
WithRS
.CursorLocation=adUseClient
.CursorType=adOpenStatic
.LockType=adLockPessimistic
.OpenCmd
EndWith
'定义5个文本框数据源为RS
SetText1.DataSource=RS
SetText2.DataSource=RS
SetText3.DataSource=RS
SetText4.DataSource=RS
SetText5.DataSource=RS
'定义5个文本框显示的字段
Text1.DataField="cc1name"
Text2.DataField="cc1length"
Text3.DataField="cc1diameter"
Text4.DataField="cc1screw"
Text5.DataField="cc1tooth"
EndSub
还需要完成在Oracle中建立相应的表,插入相关的数据,如图23所示:
图23
相应的代码如下:
SQL>createtablecc1
2(cc1namevarchar2(25),
3cc1lengthvarchar2(10),
4cc1diametervarchar2(10),
5cc1screwvarchar2(15),
6cc1toothvarchar2(10));
Tablecreated.
SQL>insertintocc1
2values('直柄球头立铣刀','100','20','35','3');
1rowcreated.
SQL>commit;
Commitcomplete.
SQL>insertintocc1
2values('锥柄普通立铣刀','150','30','30','2');
1rowcreated.
SQL>commit;
Commitcomplete.
SQL>insertintocc1
2values('削平柄普通立铣刀','100','25','35','3');
1rowcreated.
SQL>commit;
Commitcomplete.
SQL>insertintocc1
2values('直柄过中心立铣刀','130','35','30','2');
1rowcreated.
SQL>commit;
Commitcomplete.
SQL>insertintocc1
2values('高速球头立铣刀','110','20','35','3');
1rowcreated.
SQL>commit;
Commitcomplete.
点击运行,运行结果如图24所示:
图24