数据输入用什么方法最好??(50分)

  • 主题发起人 主题发起人 thgerman
  • 开始时间 开始时间
T

thgerman

Unregistered / Unconfirmed
GUEST, unregistred user!
我在客户端输入数据,然后储存到服务器上(在客户端一次输入多条记录,并且要保存到
服务器数据库中不同的表中)。用什么方式比较好?
1。立即储存(输入一条记录就储存一次)
2。缓存(所有的数据输入完后再储存到服务器)(采用这种方式较方便的方法是什么)
 
采用缓存,在c/s结构中,如果频繁的向服务器传数据,会使网络产生
比较大的开销,所以可以采用缓存的方法,提高存储的速度。
 
您是不是考我们呀??
当然是做缓存比较好了……
你要注意的网络的稳定性呀,就是说一定要保证数据被正确的写回服务器
 
当然还是用缓存方式比较好,不过您要将数据存到不同的表中,最好在针对那个保存了全部
数据的表写一个触发器,以保证达到您的目的。
create trigger soutable_insert
for insert
begin
insert into distable1(……) select …… from inserted where ……
insert into distable2(……) select …… from inserted where ……
end
这样可能就解决您的问题了
 
两个步骤:
第一、数据集采用缓存模式:
如果用普通的Tquery,设置CachedUpdates属性等于true;
关于TQuery的用法应该都知道,可以去查帮助的;
如果用TADOQuery,设置LockType属性等于ltBatchOptimistic;//批处理模式
关于TADOQuery的Post的方法只是将修改更新到内存表,确定输入更新显示,而并没有
存到数据库,只有当你用UpdateBatch方法,才是保存到数据库;
第二、使用数据库事务:
先开始事务:
self.ADOQuery1.Connection.BeginTrans;
然后提交ADOQuery的修改;
self.ADOQuery1.UpdateBatch;
接着提交事务:
try
self.ADOQuery1.Connection.CommitTrans;//提交事务
except
self.ADOQuery1.Connection.RollbackTrans;//如果提交失败或者出现错误,则回滚,
取消事务(刚才的改动则被撤销)
end;
 
seachild2000'S is good.
 
多人接受答案了。
 
后退
顶部