如何能够得知table中的字段是什么类形?(如字符,数字,浮点等)
解决方案 »
- TMediaPlayer如何实现全屏幕播放中终止播放和连续播放多个视频?
- Delphi开发的系统,部分客户端连不上服务器,高分求救,解决立马150分
- 我想在插入数据的同时,在dbgrideh上面显示出来,一边插入,一边显示,怎么作啊,我用的是adotable
- 我已经把dbcombobox与我的Dbgrid的某个字段进行了关联,,但是我的dbcombobox就是进不了那个字段所对应的单元格
- Delphi中的Tstack怎么用啊。怎么S1.create()就出错啊。(编译能通过的嘛)
- 谁能告诉我新中大的待遇怎么样?
- 又是该死的闪烁问题
- 有个浏览器控件,浏览器浏览的页面里面有个text框 如何取得这个框里面输入的内容(50分送给各位)
- 你知道哪里有 WebSphere 的好书Down吗?
- 请问VC开发的DLL的导出函数名是否区分大小写?
- mschart控件,如何在饼图时显示比例呀?????
- 删除一条记录??
比如,你要判断某一个字段(Field1)是不是浮点型:
if Field1 is FloatField then
begin
(Field1 as FloatField).DisplayFormat:='';
// 做你的事啊
end
if pos('STRING',uppercase(AdoQuery1.Fields.Fields[i].ClassType.ClassName))>0 then stype:='String';
if (pos('FLOAT',uppercase(AdoQuery1.Fields.Fields[i].ClassType.ClassName))>0)
then sType='float';
if (pos('BCD',uppercase(AdoQuery1.Fields.Fields[i].ClassType.ClassName))>0) then sType:='Bcd';
if pos('DATE',uppercase(AdoQuery1.Fields.Fields[i].ClassType.ClassName))>0 then Stype:='Date';
if pos('BOOL',uppercase(AdoQuery1.Fields.Fields[i].ClassType.ClassName))>0 then Stype:='Bool';
if pos('INTE',uppercase(AdoQuery1.Fields.Fields[i].ClassType.ClassName))>0 then Stype:='integer';
ftString:showmessage('String');
ftInteger:Showmessage('integer');
end;就是这个样子了,还有很多其它类型的,我不一一写了,查一下帮助马上能找到
showmessage('Type of Field AAA is String');
得到的是一个TFieldType类型的值。如ftFloat,ftInteger……
可以用GetEnumName(TypeInfo(Fields[i].DataType),Fields[i].DataType)获取它的字符串
表述。其实还有一个方法:就是从数据库中直接读取。这样不仅可以获得烈的类型名称,还可以得到所有烈的属性参数。如:Null,Length,Size,Scale……等等。