请问怎么实现在dbgrid中进行多条录入?(100分)

  • 主题发起人 主题发起人 rocken2
  • 开始时间 开始时间
R

rocken2

Unregistered / Unconfirmed
GUEST, unregistred user!
即在dbgrid中输入多条记录,然后点击保存一起post到表中?
这要怎么实现?谢谢
 
UpdateBatch

你在论坛中找一下UpdateBatch,有关这方面的答案很多,自己参考参考就会明白了。
 
事务处理!
 
UpdateBatch or 临时表
 
UpdateBatch
 
用sql语句来
adoconnection1.BeginTrans
with adoquery1 do
begin
close;
sql.clear;
sql.add('update table set aa =:hh');
adoquery.first;
if not adoquery.eof then
begin
paramters.parambyname('hh').Value :=dbgrid1.Fields[1].Value; //aa在dbgrid里的位置
adoquery.next;
end;
prepared;
try
execsql;
adoconnection1.CommitTrans;
execpt
adoconnection1.RollbackTrans;
end;
end;
 
用事务处理。在DBGRID中输入数据后,
即可调用D6的数据操作组件的事务处理功能如:
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
table1.ApplyUpdates;//提交事务
table1.CommitUpdates;//获取事务
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
table1.CancelUpdates;//取消事务的提交
end;
[:D][:D][:D]
就这么简单!
 
procedure TForm1.ApplyButtonClick(Sender: TObject);
begin
with CustomerQuery do
begin
Database1.StartTransaction;
try
ApplyUpdates; {try to write the updates to the database};
Database1.Commit; {on success, commit the changes};
except
Database1.Rollback; {on failure, undo the changes};
raise; {raise the exception to prevent a call to CommitUpdates!}
end;
CommitUpdates; {on success, clear the cache}
end;

end;
 
dbgrid录入,你如何禁止输入重复记录的??
批量提交的时候要处理这方面的问题吧。
俺用临时表,然后一条一条插入。
 
什么问题都不一定是非常简单的,就象所做的程序不可能没有错误一样,我要请教的问题
是异构查询中事务处理问题,哪怕仅对一个数据库进行操作,但需要另一个数据库中的数
据,如何保证数据一致性,完整性。这样我很佩服叫一声各位大侠。
 
如果用的是单机数据库的话,那么就不存在什么争用记录号的事情,如果是多用户共享数据库的话,那么............
 
后退
顶部