var
Fs:TField;
begin
fs := TField.Create(nil);
fs.FieldName := 'Field1';
fs.DisplayLabel := 'NEWField';
fs.SetFieldType(ftString);
Query1.Fields.Add(fs);
ShowMessage(Query1.FindField('Field1').DisplayLabel);
其中fs.SetFieldType(ftString)好像不起作用,query.open时,抱错:unknown fieldtype
我用的是TOraQuery,连接Oracle数据库,请高人指点
Fs:TField;
begin
fs := TField.Create(nil);
fs.FieldName := 'Field1';
fs.DisplayLabel := 'NEWField';
fs.SetFieldType(ftString);
Query1.Fields.Add(fs);
ShowMessage(Query1.FindField('Field1').DisplayLabel);
其中fs.SetFieldType(ftString)好像不起作用,query.open时,抱错:unknown fieldtype
我用的是TOraQuery,连接Oracle数据库,请高人指点
我这边没用ODAC这套控件。
你查查它的帮助,看看它对数据字段的定义吧
var
Fs:TField;
V_DataType:TFieldType;
begin
fs := TField.Create(nil);
fs.FieldName := 'Field1';
fs.DisplayLabel := 'NEWField';
fs.SetFieldType(ftString); V_DataType:=fs.DataType;--------跟踪显示为unknow,说明SetFieldType不成功 Query1.Fields.Add(fs);
ShowMessage(Query1.FindField('Field1').DisplayLabel);
----------------------------------------------------------------------------------------procedure SetFieldType(Value: TFieldType);DescriptionAs implemented in TField, SetFieldType does nothing. Descendant classes override SetFieldType to set the DataType for the field component. SetFieldType is useful for derived classes that can support more than one underlying data type. For example, a TBlobField may support ftBlob, ftFmtMemo, ftParadoxOle, ftDBaseOle, or ftTypedBinary.
Query1.FieldDefs.Add('Field1',ftString,200);
没办法加FieldType吗?