代码如下:
begin
with DataModule1.ADOQuery1 do
begin
Close;
sql.Clear;
SQL.Text:='insert into 新海电厂当前值 ([电厂编号],[电厂名称],[地址],[读取时间],[当前值]) values(:p1,:p2,:p3,:p4,:p5)';
Parameters.ParamByName('p1').Value:=1;
Parameters.ParamByName('p2').Value:='新海电厂';
Parameters.ParamByName('p3').Value:= copy(getaddresslist(),4*address-3,4);
Parameters.ParamByName('p4').Value:=formatdatetime('c',now);
Parameters.ParamByName('p5').Value:=inttostr(strtoint('$' +copy(copy(ckForm.MemRec.Text,88,5),1,2)) + strtoint('$' +copy(copy(ckForm.MemRec.Text,88,5),4,2))*256);
ExecSQL;
end;getaddresslist()返回地址列表 address整形变量。[地址]是varchar型(8)function TxhForm.getaddresslist():string;//读取数据库中的地址列表
var addresslist:string; i:integer;
begin
datamodule1.ADOQuery1.close;
datamodule1.ADOQuery1.SQL.Clear;
datamodule1.ADOQuery1.SQL.text:='select 地址列表 from 电厂资料 where 电厂编号=2';
datamodule1.ADOQuery1.open;
addresslist:= datamodule1.ADOQuery1.FieldByName('地址列表').AsString;
if addresslist='' then
addresslist:='01010201030104010501060107010801090110011101120113011401150116011701180119012001210122012301240125012601270128012901300131013201';
result:='';
for i:=1 to 32 do
begin
result:=result+inttohex(strtoint(copy(addresslist,4*i-3,2)),2)+ copy(addresslist,4*i-1,2);
end;
end;哪位大侠帮帮忙!
begin
with DataModule1.ADOQuery1 do
begin
Close;
sql.Clear;
SQL.Text:='insert into 新海电厂当前值 ([电厂编号],[电厂名称],[地址],[读取时间],[当前值]) values(:p1,:p2,:p3,:p4,:p5)';
Parameters.ParamByName('p1').Value:=1;
Parameters.ParamByName('p2').Value:='新海电厂';
Parameters.ParamByName('p3').Value:= copy(getaddresslist(),4*address-3,4);
Parameters.ParamByName('p4').Value:=formatdatetime('c',now);
Parameters.ParamByName('p5').Value:=inttostr(strtoint('$' +copy(copy(ckForm.MemRec.Text,88,5),1,2)) + strtoint('$' +copy(copy(ckForm.MemRec.Text,88,5),4,2))*256);
ExecSQL;
end;getaddresslist()返回地址列表 address整形变量。[地址]是varchar型(8)function TxhForm.getaddresslist():string;//读取数据库中的地址列表
var addresslist:string; i:integer;
begin
datamodule1.ADOQuery1.close;
datamodule1.ADOQuery1.SQL.Clear;
datamodule1.ADOQuery1.SQL.text:='select 地址列表 from 电厂资料 where 电厂编号=2';
datamodule1.ADOQuery1.open;
addresslist:= datamodule1.ADOQuery1.FieldByName('地址列表').AsString;
if addresslist='' then
addresslist:='01010201030104010501060107010801090110011101120113011401150116011701180119012001210122012301240125012601270128012901300131013201';
result:='';
for i:=1 to 32 do
begin
result:=result+inttohex(strtoint(copy(addresslist,4*i-3,2)),2)+ copy(addresslist,4*i-1,2);
end;
end;哪位大侠帮帮忙!
解决方案 »
- select中带有dateTimepicker值
- 关于word2000插件遇到的问题(1、如何注册 2、如何调用 3、如何把目前的word 文档的绝对路径和文件名传回给我的应用程序)
- at beginning of table 是什么错误?
- 执行"Application.messagebox(‘...’); exit;"后,怎么前一窗体也关闭了?
- 高分求教,不够在给!
- 如何从DBComboBox1的下拉框中选择数据库中数据列表呢?
- 新手:DELPHI6.0需要打哪些补丁?
- 如何获得文件的版权信息,包括公司名,文件描述,版本号等,谢谢了!
- 数据库加锁问题
- 很急:用DELPHI或C做ISAPI,DLL,ASP,的问题.
- 关于在一个procedure中调用另一个procedure的问题~~~
- VC、VB、delphi、汇编菜鸟的求助!请大虾们指点!
函数中不要使用DataModule1.ADOQuery1,换一个ADOQuery。