2,496
社区成员
发帖
与我相关
我的任务
分享
$1,053652.00,2957.67163089,N,12204.66885991,E,2,11,0.9,14.150,M,9.455,M,11.0,0624*7F
$2,053652.027,06,08,2014,00,00*5D
$3,205.254,T*31
$1,053653.00,2957.67163253,N,12204.66885915,E,2,11,0.9,14.149,M,9.455,M,7.2,0624*4A
$2,053653.028,06,08,2014,00,00*53
$3,208.653,T*3F
$1,053654.00,2957.67163423,N,12204.66885847,E,2,11,0.9,14.148,M,9.455,M,8.2,0624*44
$2,053654.027,06,08,2014,00,00*5B
$3,204.972,T*3F
如果memo里面的数据是一行一行的;我会!如:
for I:=0 to Lines.Count-1 do
begin
vLine := trim(lines.Strings[i]);
if vline = '' then continue;
with ADOQuery do
begin
Close;
Sql.Clear;
Sql.Add('insert into 表名 (heave,CreateTime) values (:heave,:CreateTime)');
parameters.parambyname('heave').value := Trim(Copy(vLine,10,4))+'m';
parameters.parambyname('CreateTime').value := Now;
ExecSql;
end;
end;
end;
[/quote] 大侠!怎么每隔一秒插入一条数据到数据库啊??[/quote]
使用定时器Timer,interval设置为1000[/quote] 在timer事件里面执行;1秒中全部插入了;隔一秒又全部执行了
var
I: Integer;
procedure TFrmMain.FormShow(Sender: TObject);
begin
i:=0;
end;
procedure TFrmMain.Timer1Timer(Sender: TObject);
var
// I: Integer;
vLine: string;
begin
with memo1 do
//for I:=0 to Lines.Count-1 do
//begin
vLine := trim(lines.Strings[i]);
if vline = '' then continue;
with frm_DM.ADOQuery do
begin
Close;
Sql.Clear;
Sql.Add('insert into FsySpeed ........);
parameters.parambyname('FsyId').value := 'Fsyplcy';
parameters.parambyname('Fangle').value := Trim(Copy(vLine,8,3))+'°';
parameters.parambyname('speed').value := Trim(Copy(vLine,14,3));
parameters.parambyname('CreateTime').value := Now;
ExecSql;
end;
//end;
i:=i+1;
end;
procedure TFrmMain.Timer1Timer(Sender: TObject);
var
I: Integer;
vLine: string;
begin
with memo1 do
for I:=0 to Lines.Count-1 do
begin
vLine := trim(lines.Strings[i]);
if vline = '' then continue;
with frm_DM.ADOQuery do
begin
Close;
Sql.Clear;
Sql.Add('insert into FsySpeed ........);
parameters.parambyname('FsyId').value := 'Fsyplcy';
parameters.parambyname('Fangle').value := Trim(Copy(vLine,8,3))+'°';
parameters.parambyname('speed').value := Trim(Copy(vLine,14,3));
parameters.parambyname('CreateTime').value := Now;
ExecSql;
end;
end;
end;
每次运行一秒中就把memo里面的数据全部插入了
end;
[/quote] 大侠!怎么每隔一秒插入一条数据到数据库啊??[/quote]
使用定时器Timer,interval设置为1000[/quote] 在timer事件里面执行;1秒中全部插入了;隔一秒又全部执行了[/quote]
定时器里的ontimer事件里的代码不要写成全部执行,写成按你要求的规则来执行
var
nst:TStringList;
begin
nst:=TStringList.Create;
nst.Delimiter:='$';
nst.DelimitedText:=memo.Text;
for I:=0 to nst.Count-1 do
begin
if (i+1) mod 3=1 then
begin
V1:=
end;
if (i+1) mod 3=2 then
begin
V2:=
end;
if (i+1) mod 3=3 then
begin
V3:=
end;
if ((i+1) mod 3=0) and (i>0) then
begin
//sql语句插入v1,v2,v3
end;
[/quote] 大侠!怎么每隔一秒插入一条数据到数据库啊??
var
nst:TStringList;
begin
nst:=TStringList.Create;
nst.Delimiter:='$';
nst.DelimitedText:=memo.Text;
for I:=0 to nst.Count-1 do
begin
if (i+1) mod 3=1 then
begin
V1:=
end;
if (i+1) mod 3=2 then
begin
V2:=
end;
if (i+1) mod 3=3 then
begin
V3:=
end;
if ((i+1) mod 3=0) and (i>0) then
begin
//sql语句插入v1,v2,v3
end;
[/quote] 大侠!怎么每隔一秒插入一条数据到数据库啊??[/quote]
使用定时器Timer,interval设置为1000
var
nst:TStringList;
begin
nst:=TStringList.Create;
nst.Delimiter:='$';
nst.DelimitedText:=memo.Text;
for I:=0 to nst.Count-1 do
begin
if (i+1) mod 3=1 then
begin
V1:=
end;
if (i+1) mod 3=2 then
begin
V2:=
end;
if (i+1) mod 3=3 then
begin
V3:=
end;
if ((i+1) mod 3=0) and (i>0) then
begin
//sql语句插入v1,v2,v3
end;
var
nst:TStringList;
begin
nst:=TStringList.Create;
nst.Delimiter:='$';
nst.DelimitedText:=memo.Text;
for I:=0 to nst.Count-1 do
begin
if copy(nst[i],1,2)='$1' then
begin
//处理V1
end;
if copy(nst[i],1,2)='$2' then
begin
//处理V2
end;
if copy(nst[i],1,2)='$3' then
begin
//处理V3
end;
end;
var
nst:TStringList;
begin
nst:=TStringList.Create;
nst.Delimiter:='$';
nst.DelimitedText:=memo.Text;
for I:=0 to nst.Count-1 do
begin
if (i+1) mod 3=1 then
begin
//处理V1
end;
if (i+1) mod 3=2 then
begin
//处理V2
end;
if (i+1) mod 3=3 then
begin
//处理V3
end;
end;