delphi模拟数据采集 急急急

来源:百度知道 编辑:UC知道 时间:2024/05/09 02:11:38
模拟数据采集 用delphi和sql2000
用delphi的timer控件实现对sql数据库每隔2s存入一张表 记录主键为系统序号 一共有18列 时间 通道1 通道2 通道3...通道16 序号(记录表的行数)
关键是一张表要在0.32s内存完 表一共有512行
每张表的时间一样 为系统时间512行都一样
先建好一张空表 每次运行就复制表 表命名为系统时间 存储数据

感激不尽

一下是我写的臭程序很有问题//毕竟不是学计算机的
procedure TForm1.Timer1Timer(Sender: TObject);

var
pie:real;
m,i,n,j:integer;
x,y,z,w:integer;
dmadata:array[1..16,1..512]of real;
mytime1:TDateTime;
topic:string;
begin
pie:=3.14159;
n:=1;
mytime1:=Now();
end;

begin
adoquery1.close;

adoquery1.sql.clear;
adoquery1.sql.add('select*from数据采集');
ADOQUERY1.SQL.TEXT:='SELECT * INTO timetostr(mytime1) FROM 数据采集';
ADOQuery1.ExecSQL;

for j:=1 to 16 do //产生随机振幅
begin
x:=random(10)+20;
y:=random(180)-90;
z:=random(100)-50;
for i:=1 to 16 do
begin<

严重建议以文件方式存储这些数据,效率是数据库保存所不能比拟的
使用文本保存
在需要使用到这些数据的时候再导入到数据库的临时表再计算.生成报表或进行其它操作

"先建好一张空表 每次运行就复制表 表命名为系统时间 存储数据"
这个也有问题,如此一来你的数据库里面的表单数量会怎么样呢???表单数量越来越多,必然造成后期系统的效率低下和不稳定

这是个语音板卡通讯数据记录吧!
还是说说你的流程吧,为什么会"0.32s内存完",是必须的吗?这样的设计,会给数据库造成负担的!