想每10s向数据库写入一次数据,用了下面的程序,shijd是想写入写入时的时间,出错了,怎么改?
procedure TForm1.Timer1Timer(Sender: TObject);
var
shijcha,shijd:tdatetime;begin shijd:=strtodatetime(formatdatetime('yyyy-mm-dd hh:nn:ss',now()));
adoqrywrite.Close;
adoqrywrite.sql.text:='insert into 实时数据 (日期时间,BFG,COG,TSA,PSA) values(shijd,0.1,0.1,0.1,0.1)' ; adoqrywrite.ExecSQL;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
shijcha,shijd:tdatetime;begin shijd:=strtodatetime(formatdatetime('yyyy-mm-dd hh:nn:ss',now()));
adoqrywrite.Close;
adoqrywrite.sql.text:='insert into 实时数据 (日期时间,BFG,COG,TSA,PSA) values(shijd,0.1,0.1,0.1,0.1)' ; adoqrywrite.ExecSQL;
end;
begin
ADOQuery1.SQL.Text := 'INSERT INTO Table1 (Field1, Field2, Field3, Field4) VALUES (:Field1, :Field2, :Field3, Field4)';
ADOQuery1.Parameters.ParamByName('Field1').Value := Now; //DateTime
ADOQuery1.Parameters.ParamByName('Field2').Value := 'ABC'; //String
ADOQuery1.Parameters.ParamByName('Field3').Value := 1234; //Integer
ADOQuery1.Parameters.ParamByName('Field4').Value := 12.34; //Float
ADOQuery1.ExecSQL;
end;
//var
// shijcha,shijd:tdatetime;begin
with adoqrywrit do
begin
Close;
SQL.Clear;
SQL.Add(' INSERT INTO 实时数据 (日期时间,BFG,COG,TSA,PSA) ' );
SQL.Add(' VALUES (GETDATE(),:BFG,:COG,:TSA,:PSA ) ');
Parameters.ParamByName(:BFG).Value=0.1 ;
Parameters.ParamByName(:COG).Value=0.1 ;
Parameters.ParamByName(:TSA).Value=0.1 ;
Parameters.ParamByName(:PSA).Value=0.1 ;
ExecSQL;
end;
end;