我希望从一个表(两个字段,一为旬integer型,一为流量double型)中读取前面36给数据,
然后根据这36个数据计算接下来的36个数据,并存到数据表中,各位大哥哥帮忙看一下:
procedure TForm1.Button2Click(Sender: TObject);
var
i:integer;
str2:string;
begin
str2:='select * from dj_xun_ybll';
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(str2);
ADOQuery1.Open;
setlength(ybll,adoquery1.RecordCount*2);
for i:=0 to 35 do
begin
ybll[i]:=adoquery1.Fields[1].AsFloat;
ADOQuery1.Next;
end;
ADOQuery1.Insert;
for i:=36 to 71 do
begin
ybll[i]:=aver[i-36]+hgxs[i-36]*(ybll[i-36]-aver[i-36]);
ADOQuery1.FieldByName('xun').AsInteger:=i;
ADOQuery1.FieldByName('ybll').AsFloat:=ybll[i];
ADOQuery1.Post;
end;
end;
然后根据这36个数据计算接下来的36个数据,并存到数据表中,各位大哥哥帮忙看一下:
procedure TForm1.Button2Click(Sender: TObject);
var
i:integer;
str2:string;
begin
str2:='select * from dj_xun_ybll';
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(str2);
ADOQuery1.Open;
setlength(ybll,adoquery1.RecordCount*2);
for i:=0 to 35 do
begin
ybll[i]:=adoquery1.Fields[1].AsFloat;
ADOQuery1.Next;
end;
ADOQuery1.Insert;
for i:=36 to 71 do
begin
ybll[i]:=aver[i-36]+hgxs[i-36]*(ybll[i-36]-aver[i-36]);
ADOQuery1.FieldByName('xun').AsInteger:=i;
ADOQuery1.FieldByName('ybll').AsFloat:=ybll[i];
ADOQuery1.Post;
end;
end;
解决方案 »
- 有关query的Query1CalcFields事件
- 如何将窗体作为变量传递给函数?
- 求用delphi的ado控件连接sql server 书籍,请各位相助
- Inhertied的用法?
- Indy中的TIdFTP如何把下载文件做成线程啊?
- 钩子程序?
- 怎样制作可执行程序?我的程序只有在开发用的机器上才能运行。在线等待
- ■■■各位给我儿子取个名字吧?进者有分。姓孟,二字,三字均可。最好有“梦”的谐音,没有也可。谢了。
- 谁有战棋游戏(如:三国)全套地图截图啊?能给一份给小弟吗?
- c程序员怎么样向pascal转变?
- 强烈支持网上实时、远程及遥控面试
- 用多播(组播)能否穿透NAT实现两个不同的内网的机器间的通信?
for i:=36 to 71 do
begin
ybll[i]:=aver[i-36]+hgxs[i-36]*(ybll[i-36]-aver[i-36]);
ADOQuery1.FieldByName('xun').AsInteger:=i;
ADOQuery1.FieldByName('ybll').AsFloat:=ybll[i];
ADOQuery1.Post;
end;
改为
for i:=36 to 71 do
begin
ADOQuery1.Insert;
ybll[i]:=aver[i-36]+hgxs[i-36]*(ybll[i-36]-aver[i-36]);
ADOQuery1.FieldByName('xun').AsInteger:=i;
ADOQuery1.FieldByName('ybll').AsFloat:=ybll[i];
ADOQuery1.Post;
end;
所以改为插入一条就post一条。那么最后数据库中有72条记录!
有自增字段吗?
如果不是access数据库,有触发器吗?