初学者关于oracle的初级问题(150分)

  • 主题发起人 主题发起人 srs
  • 开始时间 开始时间
S

srs

Unregistered / Unconfirmed
GUEST, unregistred user!
我在连接到ORACLE后,对表进行的编辑结果不能马上反映出来,
听诸位大侠说是要用存储过程,但我对存储过程不懂,而且现有的软件基本成型
从书上看到更新缓存和异常处理应如下写代码:

MyDataBase.StartTransaction;
try
edit;
fieldbyname('sadf').AsString := 'wfwef';
post;
mydatabase.commit;
except
mydatabase.rollback;
end;

以上代码是否能满足我的要求。是不是需要加个TDATABASE控件,
如果用一个TDATABASE控件控制多个TABLE或QUERY控件进行回退事务是否能行?
问题幼稚请大侠见谅




 
这类问题的回答挺多不过有点乱,看看
 
呜呜没人关心我
 
1、即使不用事务,ORACLE的修改也马上反映到数据库中。
只是有些界面上已经显示的数据,需要重新读取一下。

2、当然可以用一个TDATABASE控件控制多个TABLE或QUERY控件进行回退事务。
 
1.table.refresh or tquery.refresh刷新一下
 
也可以用 QUERY 控件

QUERY.SQL.TEXT:='COMMIT';
QUERY.EXECUTE;

你可以用 DOA 控件.有 FOR D4/D5.
支持BLOB 的操作.( 建议)



 
我们也用到了Oracle作后台数据库,也遇
到了相同的问题,先问以下你用的
Delphi 版本,和Oracle版本,我再回答
 
你好沈剑,使用环境:DELPHI5.0, ORACLE8
另外两台机器对一张表进行处理在进行存盘时发生,先存盘的没问题,而且一直没
问题;后存盘的机器就会挂住很长时间,然后显示什么非法关键字。
特求解!
 
这两天出差
告述我是8.0几?
8.02-8.03 仅 For Pwin95
8.04 仅 For Pwin97
8.05+ 仅 For Pwin98
如果是8.05 只须注意关键字是否设了。


 
to shenjian:
小弟有个幼稚的问题想请教,我连不上oracle数据库,
配置odbc时加不上system dsn,选add就没反应了.
我的配置是pwin98,delphi4.0,oracle8.05,
是不是什么别的软件冲突???小弟是个新手,还望各位前辈大虾指点迷津.
 
一个用户对表更新后,再提交一下其他用户才能得到修改后的数据
 
我在BORLAND 的站点上看到BDE FOR ORACLE8的驱动有问题
,是DELPHI5的BUG ,BORLAND站点上益友PATCH 文件
我用的DELPHI4.03 没有这个问题
 
用DATABASE控制多个QUERY应该是最好的(TABLE当然可以,可效率就...),
DATABASE对事务支持的很好,应首选
如果结合UPDATESQL控件效率会更高,
 
To jobsxy:
造成这种现象是因为先存盘的计算机没有Commit,Oracle将修改的记录锁定,后
面的修改要等到记录解锁(commit or rollback).
可以住个小实验。
用SQL Sheet修改Oracle数据库,但不commit.再用Delphi编的程序去修改相同的
记录,此时应用程序象死掉一样,其实,现在道SQL Sheet中用commit or rollback
,Delphi应用程序马上恢复响应。
 
续上:
所以,在应用程序中,修改数据后,一般马上commit or rollback. 或在SQL语句
中加入now wait关键字。
 
to kevin.j
你的问题解决很简单,只需重新在客户机安装一遍ORACLE客户端即可
 
如果BDE中 SQLPASSTHRUMODE 设为 SHARED AUTOCOMMIT的话,对数据库操作
应该自动提交。

如果设为SHARED NOAUTOCOMMIT的话,用TDataBase。COMMIT和
TDataBase。ROLLBACK
 
to srs
Try
DataBase1.StartTransaction //建立回滚段

加如你的处理

DataBase1.Commit; //提交对数据库的修改
Except
DataBase1.Rollback; //回滚对数据库的修改
Dnd;

to kevin.j

你说你连不上oracle 是在delphi中还是在ODBC的地方。
如果是在delphi 中你别望通过oracle的客户端软件配置sqlnet
还是不行的话,看看 bde 中的 Configuration->Drivers->Native->ORACLE
里面的配置参数。

如果在ODBC 里用的话,需要配置 sqlnet 和odbc.
 
我的问题解决了,谢谢各位..
我升级了odbc的驱动程序就好使了..
 
后退
顶部