如何判断字段类型 (在线等候) (50分)

  • 主题发起人 主题发起人 夜黑风高
  • 开始时间 开始时间

夜黑风高

Unregistered / Unconfirmed
GUEST, unregistred user!
实现功能:
一般使用Table1.Fieldbyname('xxx').asxxxxx读取记录,现在我们在不知道表字段类型的
情况下是否有方法判断表字段的类型,比如我要根据某些字段删除记录
delete * from tab1 where listbox.item=tab2query.fieldbyname(listbox.item).asxxxxxxx
问题就在后面的asxxxxx,我们不知道是什么类型的,是否有好方法快速解决问题
谢谢大侠们
 
判断某个字段的类型 
var
a :Tfield;
begin
a := Table1.FindField('abc');
if a<>nil then
if a.DataType = ftblob then
showmessage('this field is BLOB');
end;
 
同意:AIHUA
另外如果只是想读可以:
Table1.FieldByName(abc).Value
 
我曾经试过对一般的字段用.asstring的方法读,都行得通!
如:
字段a是float型, 则 fieldbyname('a').asstring := floattostr(b);
 
用 value吧。
:=vartostr(table1.fields[2].value);
 
fType:TfieldType;//字段类型,用来取得字段的类型。
ftype := NowQuery.fieldbyname(tempstr).DataType;
ftype = ftString //字符串。
ftype = ftInteger //整形数。
ftype = ftfloat //浮点数。
。。。
 
使用fieldvalues来读就行了;
delete * from tab1 where listbox.item=tab2query.fieldvalues[listbox.item;
 
同意天与地
 
.asVariant试试
 
通过NowQuery.fieldbyname(tempstr).DataType取回字段类型
用.value读写都可以
 
多人接受答案了。
 
后退
顶部