关于Mssql7和delphi4的问题(50分)

  • 主题发起人 主题发起人 fstao
  • 开始时间 开始时间
F

fstao

Unregistered / Unconfirmed
GUEST, unregistred user!
我在Mssql7新建表salary_storage。在form1里添加table1、table2、query1和button1,table1和table2的属性tablename都连接同一个表“dbo.salary_storage”,table1和table2的属性Active都为“true”,在button1的Onclick事件
为:
with query1 do
begin
close;
sql.clear;
sql.add('update salary_storage set sign=''''');
execsql;
end;
当运行form1时,一按button1时,就出现一直在运行,好象是死机一样。如果我把table1和table2的属性Active都为“false”时,再运行form1时,按button1就没有问题。这是为何?如果把table1和table2的属性Active都为“true”时,我删除表salary_storage的一些数据时,运行form1,按button1也就正常了,这又为何呢?其实这些问题我在其它机器上运行也是一样,我就是不明白为什么?请大家帮帮忙。我听说要操作MSSQL数据库最好不要
用Ttable,而要用Tquery。但是有两个Tdbgrid一定要显示表
“dbo.salary_storage”,那么只好用tquery+tdbgrid了,那只好在tquery
里写一个“select * from salary_storage”了,但是这样做又会出现其它
问题,那又如何解决呢?
 
难道没有人知道吗?
 
在一个FORM中,一个TABLE可带两个DBGRIDE,指向同一个文件,它们的指针显示是
保持同步的。
 
可能是锁定机制在作怪。你将Alias设置(在SQL Explore)得SQLPASSTHROU MODE设置为
SHARED NOAUTOCOMMIT试试.
 
沈前卫,不行,那么如何在upate之前如何把锁解开呢?
 
》我删除表salary_storage的一些数据时,运行form1,按button1也就正常了
你是在什么地方删除数据,程序里???

BTW:
我对MS SQL不熟,请不要寄予厚望!
将你的目的说说,看看有没有其他方法!
 
我在Oracle8i与Delphi5下无此现象。
 
不知道表的索引结构如何,可能是你删除的记录存在定位问题
 
接受答案了.
 
后退
顶部