请问怎么在程序中动态添加计算字段,小女子刚来,请各位高手帮忙,谢谢.
解决方案 »
- 有把 PDF格式当作图片显示在TImage里面的组件吗,就像jpg或png格式一样的
- 如何将slq语句写入磁盘???
- 请问使用远程数据模块,怎样给客户端返回一个 Tstrings 对象 ? 用 variant* 可以吗?
- serversocket 没打开, clientsocket 尝试连接时错误如何屏蔽?
- 程序突然关闭的原因?
- 如何获得SQLSERVER中所有数据库名称的列表
- delphi声明的类型为什么在编辑的时候不回自动完成?
- SendMessage?
- DELPHI的全局变量问题(急加分多多)
- 请问高手,如何把函数赋给给TNotifyEvent?
- 在局域网内为什么老有几台机器连不上sql server,sql server装在于控制器上,急!
- 【老槐树】关键字:ADO,ACCESS,DBGrid,显示
... procedure ADOCalcFields(DataSet: TDataSet); //定义计算过程
...
...
...
myado.sql.add(); //你的sql语句
myado.open; OldFieldlist:=tstringlist.create; //得到当前的字段列表
myado.GetFieldNames(OldFieldlist);
myado.OnCalcFields:=ADOCalcFields;
myado.Close; //暂时关闭 for i:=0 to OldFieldlist.Count -1 do
begin
OldFIELD:= TVariantField.Create(myado);//根据刚才字断列表,手动再生// 成//字段列表;
OldFIELD.FieldName:=trim(OldFIELDlist.Strings[i]);
OldFIELD.Name:=myado.Name + 'F'+inttostr(i);
OldFIELD.FieldKind :=fkdata;
OldFIELD.Index := i ;
OldFIELD.DataSet :=myado ;
OldField.DefaultExpression:='0';
end;
MYFIELD:= TfloatField.Create(myado); //建立 计算字段
MYFIELD.FieldName:='cno';
Myfield.Displaylabel :='新名字';
myfield.Name:=myado.Name + MYFIELD.FieldName;
MYFIELD.Calculated :=TRUE;
MYFIELD.Index := myado.FieldCount ;
MYFIELD.DataSet :=myado ;
myado.FieldDefList.Update;
myado.Open; //重新打开 ,这时就有了就算字段了
啥话也不说了,眼泪哇哇地~~~~
多多加分吧。
这个不能通过,是什么意思啊,ADOCalcFields是什么
-----------------------这是计算字段的计算过程啊?
需要你编写代码的,它在单元里是这样的:procedure TFrm_你的表单.ADOCalcFields(DataSet: TDataSet);
var ln_ys,ln_bs,ln_ss:real;
begin
...
...
end;
myado.OnCalcFields:=ADOCalcFields;