M
mayong
Unregistered / Unconfirmed
GUEST, unregistred user!
首先生成一个(Access2000)数据库,加一个表T1,利用以下Save函数对数据库进行
写入,tem控制记录<10,用ADOTable存取
1、写十几次就出错:(键列信息不足或不正确,更新影响到过多的行)
2、把tem放大,=1000,往里连续写,不知多少次后,本来是用Append添加在
数据表尾的,结果加在表的中间
procedure Save(P1,P2:string);
var
tem:integer;
f : boolean;
begin
if (P1='') or (P2='') then exit;
tem:=10;
f:=Form1.ADoTable1.Filtered;
if f then
Form1.ADOTable1.Filtered:=False;
if Form1.ADoTable1.RecordCount>= tem then
begin
Form1.ADoTable1.First;
Form1.ADoTable1.Delete;
end;
Form1.ADoTable1.Append;
Form1.ADoTable1.edit;
Form1.ADoTable1a.AsString:=P1;
Form1.ADoTable1b.AsString:=P2;
Form1.ADoTable1.Prior;
Form1.ADoTable1.Close;
Form1.ADoTable1.Open;
Form1.ADoTable1.Last;
if f then
Form1.ADoTable1.Filtered:=True;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
str :string;
begin
str:=formatDateTime('y-m-d h:n:s',now);
Save(str,str);
end;
写入,tem控制记录<10,用ADOTable存取
1、写十几次就出错:(键列信息不足或不正确,更新影响到过多的行)
2、把tem放大,=1000,往里连续写,不知多少次后,本来是用Append添加在
数据表尾的,结果加在表的中间
procedure Save(P1,P2:string);
var
tem:integer;
f : boolean;
begin
if (P1='') or (P2='') then exit;
tem:=10;
f:=Form1.ADoTable1.Filtered;
if f then
Form1.ADOTable1.Filtered:=False;
if Form1.ADoTable1.RecordCount>= tem then
begin
Form1.ADoTable1.First;
Form1.ADoTable1.Delete;
end;
Form1.ADoTable1.Append;
Form1.ADoTable1.edit;
Form1.ADoTable1a.AsString:=P1;
Form1.ADoTable1b.AsString:=P2;
Form1.ADoTable1.Prior;
Form1.ADoTable1.Close;
Form1.ADoTable1.Open;
Form1.ADoTable1.Last;
if f then
Form1.ADoTable1.Filtered:=True;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
str :string;
begin
str:=formatDateTime('y-m-d h:n:s',now);
Save(str,str);
end;