关于Delphi的数据库事务处理?急! 高手请进!
htxl 2001-12-13 04:10:40 我为SQL SERVER2000设置了一个新的账号:test,使它属于组Public,
并将其加入了Pubs数据库的用户列表中。
并针对账号test使其拥有对Aouthors表的读取(Select)权限,
以及对Authors表中的au_id字段进行Update的权限。
之后使用Delphi5进行测试
(Username:test, TableName:Authors,窗体上有一个TTable控件,一个DBNavigator,
一个DataSource,一个DataBase和一个DBGrid),
发现如果我对Authors表进行除au_id字段以外的Update操作,就提示一个错误:
“General SQL error. The ROLLBACK TRANSACTION request has no
corresponding BEGIN TRANSACTION.”,
忽略并继续运行后,再对Authors表
进行Update操作(例如对拥有权限的au_id字段进行Update操作),
就给出提示:
“Record already locked by this session.”。
意思是说我刚才进行Update操作的记录已别锁定。
我后将BDE改用ADO,重新进行上述操作,一起正常,当我进行没有权限的操作是
给出了一个没有操作权限的提示,这种提示是正确的。
我百思不得其解,望众网友指教。