那位帮我看看,我是个新人。找出对应的日期时间生成随机数在 插入到另外一张表。
高人看看,总是有问不知道哪里谢谢大侠们帮帮。
var
i,j,z,y,a,r,e:string;
rq1,rq2,sj1,sj2,fh:string;
sTemp:string;
Aqry:Tadoquery;begin //数据连接
Aqry:=TADOQuery.Create(nil);
Aqry.Connection:=ADOConnection1;
rq1:=FormatDateTime('yyyy-MM-dd',DateTimePicker1.Date);
rq2:=FormatDateTime('yyyy-MM-dd',DateTimePicker2.Date);
sj1:= MaskEdit1.Text;
sj2:= MaskEdit2.Text; if sj1= '' then
if sj2 ='' then
begin
showmessage('时间不能为空');
Exit;
end;
while not ADOQuery1.Eof do
begin with Aqry DO
begin
Aqry.SQL.Clear;
Aqry.SQL.Text := 'Select * from Att '
+' where rdate between '''+rq1+''' and '''+rq2+''' '
+' and rtime between '''+sj1+''' and '''+sj2+''' '; Aqry.Open;
if Aqry.RecordCount < 1 then
begin
showmessage('日期范围,没有可以更新的数据');
Exit;
end
else
begin
Randomize; //Randomize随机函数数
sTemp:=Format('%.2d',[1+Random(30)]); i:=Aqry.fieldbyname('CardSerial').AsString;
j:=Aqry.fieldbyname('RDate').AsString;
z:='08'+':'+sTemp;
y:=Aqry.fieldbyname('PersonnelID').AsString;
a:=Aqry.fieldbyname('MachineNo').AsString;
r:=Aqry.fieldbyname('Mark').AsString;
e:=Aqry.fieldbyname('RecordTime').AsString; Aqry.Close;
Aqry.SQL.Clear;
Aqry.SQL.text:='INSERT Att_AA (CardSerial, RDate, RTime,PersonnelID,CardNo,MachineNo,Mark,RecordTime)'
+' values('''+i+''','''+j+''','''+z+''','+y+',''000000'','+a+','+r+','''+e+''')';
Aqry.ExecSQL;
ADOQuery1.Next;
end; end; end;
高人看看,总是有问不知道哪里谢谢大侠们帮帮。
var
i,j,z,y,a,r,e:string;
rq1,rq2,sj1,sj2,fh:string;
sTemp:string;
Aqry:Tadoquery;begin //数据连接
Aqry:=TADOQuery.Create(nil);
Aqry.Connection:=ADOConnection1;
rq1:=FormatDateTime('yyyy-MM-dd',DateTimePicker1.Date);
rq2:=FormatDateTime('yyyy-MM-dd',DateTimePicker2.Date);
sj1:= MaskEdit1.Text;
sj2:= MaskEdit2.Text; if sj1= '' then
if sj2 ='' then
begin
showmessage('时间不能为空');
Exit;
end;
while not ADOQuery1.Eof do
begin with Aqry DO
begin
Aqry.SQL.Clear;
Aqry.SQL.Text := 'Select * from Att '
+' where rdate between '''+rq1+''' and '''+rq2+''' '
+' and rtime between '''+sj1+''' and '''+sj2+''' '; Aqry.Open;
if Aqry.RecordCount < 1 then
begin
showmessage('日期范围,没有可以更新的数据');
Exit;
end
else
begin
Randomize; //Randomize随机函数数
sTemp:=Format('%.2d',[1+Random(30)]); i:=Aqry.fieldbyname('CardSerial').AsString;
j:=Aqry.fieldbyname('RDate').AsString;
z:='08'+':'+sTemp;
y:=Aqry.fieldbyname('PersonnelID').AsString;
a:=Aqry.fieldbyname('MachineNo').AsString;
r:=Aqry.fieldbyname('Mark').AsString;
e:=Aqry.fieldbyname('RecordTime').AsString; Aqry.Close;
Aqry.SQL.Clear;
Aqry.SQL.text:='INSERT Att_AA (CardSerial, RDate, RTime,PersonnelID,CardNo,MachineNo,Mark,RecordTime)'
+' values('''+i+''','''+j+''','''+z+''','+y+',''000000'','+a+','+r+','''+e+''')';
Aqry.ExecSQL;
ADOQuery1.Next;
end; end; end;
begin with Aqry DO
begin
Aqry.SQL.Clear;
Aqry.SQL.Text := 'Select * from Att '
Aqry和ADOQuery1的作用要分清楚啊,仔细清理下……后面有Aqry.XXX,就不要这个套了with Aqry do
try
ADOconnection1.Connected := True;
ADOconnection1.BeginTrans; //开始执行事务
for intCount := 1 to 10 do
begin
ADOquery1.SQL.Clear;
strSQL := Format('insert into test values(%d, %d, %d)', [intCount, intCount+1, intCount+2]);
ADOquery1.SQL.Add(strSQL);
ADOquery1.ExecSQL;
end;
ADOconnection1.CommitTrans; //提交事务
except
ADOconnection1.RollbackTrans; //回转事务(撤销)
ShowMessage('错误!');
end;
cannot pirfrom thin operation on a closed dataset