if table1.Fields[3].DataType=ftinteger then showmessage('123'); ftstring 更多类型参照D6的HELP
var strDataType: string; begin for i := 1 to ClientDataset.Fields.Count begin strDataType := ClientDataSet.Fields[i].DataType //DoYourSelf end; end;
try with Dm.ADOQry do begin close; sql.Clear; sql.Add('sp_columns ' + cbTName.Text); Open; lvFields.Clear; while not eof do begin lTmp := lvFields.Items.Add; lTmp.Caption := FieldByName('Column_name').AsString; lTmp.SubItems.Add(FieldByName('Type_Name').AsString); Next; end; end; except end;
ftstring
更多类型参照D6的HELP
strDataType: string;
begin
for i := 1 to ClientDataset.Fields.Count
begin
strDataType := ClientDataSet.Fields[i].DataType
//DoYourSelf
end;
end;
with Dm.ADOQry do
begin
close;
sql.Clear;
sql.Add('sp_columns ' + cbTName.Text);
Open;
lvFields.Clear;
while not eof do
begin
lTmp := lvFields.Items.Add;
lTmp.Caption := FieldByName('Column_name').AsString;
lTmp.SubItems.Add(FieldByName('Type_Name').AsString);
Next;
end;
end;
except
end;
帮帮忙
var
YourFieldType:string;
ATableName:string;
begin
ATableName:='T_B_Unit';
adoquery1.SQL.text := 'select FieldName=left(a.name,255) ,'
+' DataTypeName=left(b.name,255),'
+' DataLen=a.length,'
+' CanNull=columnproperty(object_id("'+ATableName+'"),a.name,"AllowsNull"),'
+' DefaultValue=(select left(text,20) from syscomments where id= a.cdefault) '
+' from syscolumns a,systypes b '
+' where a.id=object_id("'+ATableName+'") '
+' and a.xtype=b.xtype'
+' order by a.colid';
showmessage(adoquery1.sql.Text);
adoquery1.open ;
YourFieldType:= trim(adoquery1.fieldbyname('DataTypeName').asstring) ;