关于网络上的数据重复的问题(50分)

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

fstao

Unregistered / Unconfirmed
GUEST, unregistred user!
数据库Mssql7,有两个主从表dbo.master(masterid,name)和dbo.detail(id,detailid,PH,
其中detailid关联masterid,PH是编号,是人为输入数据,是字符型。)
我用Tquery+TupdateSql处理数据,其中QueryMaster(Tquery)连接dbo.master和QueryDetail(Tquery)
连接dbo.Detail,并且设置好主从关系。QueryMaster和QueryDetail的CachedUpdate都为True,
QueryMaster的AfterPost事件为:
Database1.StartTransaction;
try
querymaster.ApplyUpdates;
Querydetail.ApplyUpdates;
Database1.Commit;
except
Database1.Rollback;
raise;
end;
querymaster.CommitUpdates;
querydetail.commitupdates;

Querydetail的AfterPost没有写任何事件。

当querymaster.insert时,在从表写数据,字段PH是人工输入,我要求整个dbo.detial的Ph不能有重复数据。
由于我把queryDetail的CachedUdate=true,只要querymaster没有post,那么Querydetail的数据还没有真正
提交给数据库,那么这些数据是暂时放在缓冲,那我如何既要判断字段Ph有没有重复,又要判断已经提交到数据库
的字段Ph数据有没有重复?还有是多用户同时操作这个主从表,我也要判断与另外一个用户有没有Ph重复。那
我该如何写这个程序?有没有简单的方法?
 
定义PH为无重复索引,Post时会报错,再Refresh一下
 
如何创建无重复索引?
 
建索引时,选中Unique value复选筐
 
接受答案了.
 
后退
顶部