问一个vb连oracle的问题。不难但很奇特!

bluesanke 2003-03-25 04:22:51
vb里的data数据控件是否能够连接oracle里的表???如果可以的话,data.databasename=?????
怎么在oracle里找到我需要的表的位置呢?!
...全文
342 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunningusst 2003-08-05
  • 打赏
  • 举报
回复
解决了就马上结贴,本人结贴录100%???
bluesanke 2003-03-25
  • 打赏
  • 举报
回复
谢谢你先,不过我发现好象不能,因为data.connect属性没法选oracle
另外就是用ado建立数据源也可以连接!
还是先谢谢你!结帖
我的qq:15475561要有什么要继续讨论的找我
fhr2003 2003-03-25
  • 打赏
  • 举报
回复
你这样试试看,用data控件不能连oracle数据库。
fhr2003 2003-03-25
  • 打赏
  • 举报
回复
系统环境:
1、操作系统:Windows 2000 Server
2、数据库: Oracle 8i R2 (8.1.6) for NT 企业版
3、开发工具:Visual Basic 6.0 中文版

连接方法:

一、安装 Oracle 8i R2 (8.1.6) for NT 企业版
    使用典型安装,安装目录为D:\Oracle;

注:安装完Oracle后,在D:\Oracle\Ora81\BIN\目录下会有oradc.ocx文件存在,VB可使用此控件访问Oracle数据库

二、安装 Visual Basic 6.0 中文版
    把Visual Basic 6.0光盘放入光驱,使用典型安装,
    安装目录为D:\Program Files\Microsoft Visual Studio\VB98;

三、生成Oracle实验记录
    连入SQL*Plus,以system/manager用户登录
    SQL> conn system/manager

    创建新的用户:如user1/pass1,赋予connect,resource权限。
    SQL> grant connect,resource to user1 identified by pass1;

    SQL> conn user1/pass1
    SQL> create table test(a number,b char(19));
    SQL> insert into test values(1,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'));
    SQL> insert into test values(2,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'));
    SQL> insert into test values(3,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'));
    SQL> insert into test values(4,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'));
    SQL> insert into test values(5,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'));
    SQL> commit;

    SQL> select * from test;

     A B
    ---------- -------------------
     1 2000-11-28 20:27:33
     2 2000-11-28 20:27:36
     3 2000-11-28 20:27:38
     4 2000-11-28 20:27:40
     5 2000-11-28 20:27:52

    D:\Oracle\Ora81\network\ADMIN\tnsnames.ora中有如下内容:

    ORADB =
     (DESCRIPTION =
     (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.1.1.1)(PORT = 1521))
     )
     (CONNECT_DATA =
     (SERVICE_NAME = oradb)
     )
     )

    总结:
    Oracle service_names: oradb
    Oracle用户名:     user1
    户名密码:       pass1
    测试表名:       test
    tnsnames:       oradb

四、启动 Visual Basic 6.0,写连接Oracle的VB程序
    开始->程序->Microsoft Visual Basic 6.0 中文版->Microsoft Visual Basic 6.0 中文版

    文件->新建工程->VB 企业版控件,
    

    添加访问Oracle的部件(CTRL+T):

    工程->部件->Oracle Data Control,
    

    选中此控件(Oracle Data Control),单击“确定”(此控件对应的就是D:\Oracle\Ora81\BIN\oradc.ocx)

    VB开发窗口右边的工具箱面板上会出现此控件的图形标志,
    

    用鼠标双击此控件(ORADC),再双击MSFlexGrid控件,
    把它们放到窗体Form1上,默认名称为ORADC1和MSFlexGrid1,

    

    修改控件ORADC1和MSFlexGrid1的属性,
    ORADC1的Connect属性:user1/pass1
    ORADC1的DatabaseName属性:oradb
    ORADC1的RecordSource属性:select * from test

    MSFlexGrid1的DataSource属性:ORADC1

    

    也可以不设置ORADC1控件的任何属性,而使用窗体的Form_Load()过程来给ORADC1控件赋值

    Private Sub Form_Load()
     ORADC1.Connect = "user1/pass1"
     ORADC1.DatabaseName = "oradb"
     ORADC1.RecordSource = "select * from test"
     ORADC1.Refresh
    End Sub

        



bluesanke 2003-03-25
  • 打赏
  • 举报
回复
解决了就马上结贴,本人结贴录100%
bluesanke 2003-03-25
  • 打赏
  • 举报
回复
解决了就马上结贴,本人结贴录100%

1,217

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧