DELPHI怎么获取SQL指定字段的字段类型?

如题

uses typeinfo;

procedure TForm1.Button1Click(Sender: TObject);
var
c : TFieldType;
begin
c := ftString;
//根据enum得到字符串
showmessage(GetEnumName(Typeinfo(TFieldType),Ord(c)));
// 根据字符串得到枚举类型
c := TFieldType(GetEnumValue(Typeinfo(TFieldType),'ftInteger'));
showmessage(GetEnumName(Typeinfo(TFieldType),Ord(c)));
end;
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-06-23
select * from 数据库.dbo.syscolumns where object_name(id)='表名' var
name: string;
FieldType: TFieldType;
i, size: integer;
begin
for i := 0 to ads.Fields.Count - 1 do
begin
name := ads.Fields[i].FieldName; //列名
FieldType := ads.Fields[i].DataType; //字段类型
size := ads.Fields[i].DataSize; //字段长度
end;
end;本回答被网友采纳

DELPHI怎么获取SQL指定字段的字段类型?
uses typeinfo;procedure TForm1.Button1Click(Sender: TObject);var c : TFieldType;begin c := ftString;\/\/根据enum得到字符串 showmessage(GetEnumName(Typeinfo(TFieldType),Ord(c)));\/\/ 根据字符串得到枚举类型 c := TFieldType(GetEnumValue(Typeinfo(TField...

请问delphi 中,提取SQL SERVER数据库dd中,表A中,当ID为1时字段a的值
用adoquery 控件,先连接数据库。在adoquery的conniection或connectionstring属性中连接数据库。with adoquery do begin Close;SQL.Clear;SQL.Add('select a from A where id=:id ');Parameters.ParamByName('id').Value :='1';\/\/若id子段为数字型,则不需要引号 open;if recordcount>0 then be...

delphi中如何实现对sql数据库记录进行添加,删除,修改
使用ADO,首先用ADOConnection对象建立连接,然后使用ADOQuery对象对数据库进行操作。ADOQuery对象操作:查询:先使用close;再设置SQL.text为SQL查询语句内容;最后使用OPEN方法打开添加:Append或Insert;FieldByName('字段名').Value := 字段内容;Post;修改:Edit;FieldByName('字段名').Value := 字段...

delphi 怎样取出SQL查询出来的记录解决方法
使用 TQuery 或是 TADOQuery 等数据库组件,通过构造 sql 语句获取数据记录后,查询记录的代码示例如下:\/\/以下代码查询到记录后,遍历记录adoquery.first;while not adoquery.eof dobegin showmessage(adoquery.Fieldbyname('字段名').AsString);\/\/获取指定字段名数据 adoquery.next;\/\/移动到下一条...

delphi 用SQL查询 怎么用SQL查询后的结果中的某一个字段的值为依据,将...
var s:string;begin 查询...s:=query1.FieldByName('查询的字段').asstring;with query2 do begin close;sql.clear;sql.add('select 查询的字段 from 查询的字段='''+s+''');open;

delphi中如何得到SQL表中记录总数?
对于你的语句,可以用查询的fieldbyname('record_count').asinteger得到整型的,.asstring得到字符串型的,根据使用要求来定 Fields[0].AsInteger 取查询的第一个字段的值 fields【字段名】也行 fieldbyname 和 fields 各有优劣 字段少时用fields,多的时候fields效率低些 ...

delphi如何定位到字符型最大的那一条记录(里面都是数字)
如想要达到你说的那种需求,可以在SQL语句用经过排序后再显示来,远比你直接对Grid进行操作简单得多,效率也要高.你如果硬要在Grid里进行操作,也是可以的.我的思路是:遍历你要求的那个栏位,把最大值对应的行数记录下来,然后再指向那一行.具体怎么指,我就不说了.Baidu一下....

delphi数据类型
query.SQL.Add('select [username] from yongh where [userid]=' + x);虽然数据库里面是数字型的,但是SQL.text本身是字符串,要用+进行连接,如果数据库里面的字段是字符型的,那么应该在两侧加 '如果是数字型的,不可以加 '

delphi怎么读取数据库里的数据
结果就在这个ADOQUERY1的数据集里面了。可以用1、AdoQuery1.Fieldbyname('字段名').Value2、AdoQuery1.Fields[0].Value \/\/因为你只有取一个字段的值,所以直接数组0就可以了

在Delphi的DBGrid中,怎样根据数据库中的数据来显示字段?
这个是根据你写的sql语言来显示的阿select 字段名 from 数据库表名 你把要显示的字段名写在SELECt 后就可以显示出来了,这个没关系阿,这样就是变成你怎么处理的动态变量了,DBGRID处理是不受影响的,只要你sql语言能把你的动态变量写上就可以显示。

相似回答