在程序运行时,动态添加ado字段问题,相当于在设计时的 add all fields 要怎么弄呀
解决方案 »
- 如何得到指定数据库中所有的表名?高分送
- 把TADOQuery的数据传给TClientDataSet一定要TDataSetProvide吗,还有其他方式吗?
- 求一个按月分周统计算法,比如当我选择十月,算出有六周(1-2号为第一周),当选择第三周的时候算出时间段为10-16号。
- 急问窗体上画图问题
- 怎样用DELPHI3调用ORACLE服务器上用PL/SQL写的函数,怎样取得返回值,请举例说明。
- 如何用SQL语句选出两个表的不同记录!
- 代码创建打印机纸张问题
- 关于帮助文件插入图片的问题!请大侠们多多指教!
- 这 是 什 么 病 毒 ? 这 是 什 么 病 毒 ? 这 是 什 么 病 毒 ?
- 问一个问题:如何在w2k下中止一个进程
- 关于识别图片中的汉字
- delphi TreeView的问题
要不就是先用控件的ADDFIELD,先看COLCOUNT是多少,然后加进去
可以这样。。
procedure TForm1.FormCreate(Sender: TObject);
begin
//ado....
end
begin
t := TStringField.Create(Self);
t.FieldName := 'time';
AdoQuery1.Fields.Add(t);
end
TField查帮助查其他类型TDateTimeField 、TStringField等等
data.ADOQuery1.Close;
data.ADOQuery1.Connection:=data.ADOConnection1;
data.ADOQuery1.SQL.Clear;
data.ADOQuery1.SQL.Add('select * from Tzhk_sjdy_dsf');
data.ADOQuery1.Open;
i:=data.ADOQuery1.FieldList.IndexOf('zt');
if i<0 then
begin
data.ADOQuery1.Close;
data.ADOQuery1.Connection:=data.ADOConnection1;
data.ADOQuery1.SQL.Clear;
data.ADOQuery1.SQL.Add('alter table Tzhk_sjdy_dsf add zt int null');
data.ADOQuery1.ExecSQL;
end;
我知道打开数据集后,字段都会有,但是因为我用了cxfiltercontrol这个控件,如果没有添加字段进去,返回的filtertxt中就不会正确(只有条件没有条件前面的字段,如正确的应该是(ddate='2009-5-1')没有字段后就变成了(='2009-5-1')),要添加才会有正大正确的过滤条件结果。但我的这个ado查询是会变的。结果集字段不一样。所以我想动态添加再动态删除来实现。
Field:=TField.Create(self);
Field.FieldKind:=fkCalculated;
Field.FieldName:='hj';
ADOQuery2.Fields.Add(field);
为什么程序会报错?