首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

菜鸟问几个问题,几乎的人都能答出来的,请进来接分,一个有关问题给10

2012-03-28 
初学者问几个小问题,几乎的人都能答出来的,请进来接分,一个问题给101、我用ODAC连接接ORACLE。我在建了一个

初学者问几个小问题,几乎的人都能答出来的,请进来接分,一个问题给10
1、

    我用ODAC连接接ORACLE。我在建了一个数据模板,在DataModule上加了一个OraSession控件,并连接好ORACLE数据库,我在另一个窗体中用uses   DataModule引用了,可为什么我在调用OraSession1的ExecSQL时不能写成:OraSession1.ExecSQL
而要写成DataModule.OraSession1.ExecSQL呀,我加了引用也还要前面再加个DataModule吗?

2、
    如上个问题,当我用DataModule.OraSession1.ExecSQL(sql,[])执行时,会报如下错误:
project   mdiapp.exe   raised   exception   class   EaccessViolation   with   message   'Access   Violation   at   address   0049F0E7   in   module   mdiap.exe ',read   of   address   00000058 '

Process   stopped.     Use   Step   or   Run   to   continue.

这是为什么呀?OraSession不是这样执行语句的吗?我的SQL是肯定对的语句。

3、请问你们的ODAC是怎么学的,好象这方面资料很少,上面那么多组件的属性方法都没地方找,有没有相关资料



[解决办法]
1.确实是要这样用的,是语法规则。原因嘛,一方面是避免不同unit中有相同的对象或操作造成混淆,另一方面也提高了编译、链接、执行效率(否则delphi岂不是要在你uses的unit中一个个去找?)

2.orasession只是提供连接,如果要执行sql语句,还要添加oraQuery控件(其中的session属性设为你的那个orasession1,然后在sql属性中写你的sql语句,最后用oraquery.execsql执行即可。

3.我也刚开始用ODAC,手头没有任何可参考的材料,以前我是用BDE和ADO的,只能用以前的一些知识点来参照尝试罗。


希望有识之士给点帮助,谢啦。

热点排行