在程序运行时,动态添加ado字段问题,相当于在设计时的 add all fields
在程序运行时,动态添加ado字段问题,相当于在设计时的 add all fields 要怎么弄呀
[解决办法]
看不懂,请说具体一点
是表格或控件读取ADO的字段还是啥?
如果是表格那类,像DBGRID,只要DATASOURCE连上后,列放空就行,查询时,自动就跳出ADO的所有的列,不管列的数量有没变化。
要不就是先用控件的ADDFIELD,先看COLCOUNT是多少,然后加进去
[解决办法]
不是很理解。。。大约猜测你的意思是运行的时候就直接创建连接ado里面的东西
可以这样。。
procedure TForm1.FormCreate(Sender: TObject);
begin
//ado....
end
[解决办法]
不用添加
open之后列就存在了,可以用了
[解决办法]
Open的时候会自动获取列信息的
[解决办法]
[解决办法]
t:TField;
begin
t := TStringField.Create(Self);
t.FieldName := 'time';
AdoQuery1.Fields.Add(t);
end
TField查帮助查其他类型TDateTimeField 、TStringField等等
[解决办法]
- Delphi(Pascal) code
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;