我现在在用DELPHI做一个COM,由VC调用。主要功能是进行数据库访问。
其中一个功能是从远程服务器端取得数据,并将数据写入一个
本地数据表中。写之前先判断这个表是否存在,如果存在就删除
它所有记录;如果不存在就创建一个新表。写数据完成之后就向
VC主程序发信息,通知VC主程序读取这个表的数据。不知道有什么
办法可以确定对数据库的操作是否成功完成?
我用了 ADOCONNECTION 的事务来保证数据库操作完成,在CommitTransComplete
里通知VC。我这个程序功能倒是能完成,但由VC调用在退出程序的时候总会出Access Violation
的错误,而我自己用DELPHI写了个程序来调用试了下却没问题。哪位大虾能指点一下
小弟哪里出了问题,现在我头都大了。
如果不用事务的话,就不会有问题,但我却没法确定对数据库的操作是否完全成功了,
不知道哪位对这个有什么好方法,跪求了~~

解决方案 »

  1.   

    。写之前先判断这个表是否存在,如果存在就删除
    它所有记录;如果不存在就创建一个新表。
    --------------------------------------
    不用判断是否存在,直接drop table然后create就行了,比判断了再这个那个要简单的多
    因为就算没有这个表drop也不会出错
      

  2.   

    终于有人回答了~多谢哈。
    这个先drop table然后create会不会有速度匹配上的问题呢?
    我以前就是觉得进行了操作之后不知道是否已经成功做完了,比如delete *之后马上insert
    就会出问题,好象是因为delete操作还没实际做完。加了adoconnection的事务控制后这个
    问题没了,但是又出了我上面说的新问题,可能是释放这个事务对象时出错?大哥能不能
    指点下该怎么释放一个活动事务对象或者不用事务怎么判断我对数据库的操作
    已经成功完成了呢~~万分感激~~