如全部这样写比较麻烦:
DataModule1.ADOtablejbqk.FieldByName('xm').AsString:=edit1.Text;
DataModule1.ADOtablejbqk.FieldByName('cym').AsString:=edit2.Text;
DataModule1.ADOtablejbqk.FieldByName('xm').AsString:=edit1.Text;
DataModule1.ADOtablejbqk.FieldByName('cym').AsString:=edit2.Text;
解决方案 »
- 谁有D7环境下收发电子邮件的原代码吗>谢谢!
- application是怎么创建出来的?
- 用InstalllShield制作安装程序,如何做成可自动升级的
- 关于获取主机ip地址的问题。
- 一个关于DBGrid的问题
- 回答问题就上分了!
- 在线求教,菜鸟问题,如何在鼠标移到某个菜单项上时,在状态栏中显示出相应的提示信息,请大哥赐教!
- BDE的CachedUpdate和ADO的ltBatchOptimistic有什么区别呢?
- 数据库字段内容如何在DBGRID的单元格中被改写显示?
- 诸位有没有从国企跳出来的经验?!偶实在是想出来啊,可合同是5年,违约金5万!急!
- 统一更新字段长度,类型
- ACTIVEX FORM中怎么给一个数据库图像字段赋一个图片?
var
i: Integer;
begin
for i := 1 to 3do
DataModule1.ADOtablejbqk.fields[i].value :=
TEdit(FindComponent('Edit' + IntToStr(i))).Text);
end;
把COMBOBOX和EDIT的名字都设置为edit+tag,例如tag为1的edit就是edit1,tag为2的combobox就是EDIT2,
设置的tag值对应数据库的fields号。
for i := 1 to 3do
DataModule1.ADOtablejbqk.fields[i].value :=
TEdit(FindComponent('Edit' + IntToStr(i))).Text);
这个循环就可以用了,不用担心COMBOBOX的转换,
最后再对date控件赋值。
procedure Tshuidianqi.BitBtn1Click(Sender: TObject);
var
i:integer;sqltext:string;
begin
////////////// 确定去那一天的数据,先把时间弄成字符串,
try
begin
lururq:='a'+copy(FormatDateTime('yyyymmdd',findtime.date),7,2);
////////////////////////////
for i:=0 to ComponentCount-1 do
if Components[i] is TEdit then
if trim(TEdit(Components[i]).Text)<>'' then
begin
//showmessage(copy(TEdit(Components[i]).Name,5,6)); //showmessage(TEdit(Components[i]).Text)
sqltext:='update dd_tz set '+lururq+'='+TEdit(Components[i]).Text+' where dm='+''''+copy(TEdit(Components[i]).Name,5,6)+''''+' and rq='+copy(FormatDateTime('yyyymmdd',findtime.date),1,6); with adoquery1 do
begin
close;
sql.Clear;
// sql.Add('update dd_tz set '+lururq+'='+TEdit(Components[i]).Text+'where dm='+''''+copy(TEdit(Components[i]).Name,5,6)+''''+' and rq='+copy(FormatDateTime('yyyymmdd',findtime.date),1,6));
sql.Text:=sqltext;
execsql;
end; end;
end;
showmessage(FormatDateTime('yyyy-mm-dd',findtime.Date)+'号水电汽数据已成功存盘!'); except
showmessage('操作错误,数据未存盘!请重试!')
end;
end;