Fields、Fieldvalues和Fieldbyname的区别

1.fields[i:integer]    Tfield   访问字段控件的相应列

① fields[i]: i为字段的顺序,从0开始;

② fields[]相当于一个数组,按照数据表中各字段顺序排列。

③ Fields[]是将字段以数组列出,如果你在选择时没有很多字段的话,这种方法很方便,但是如果字段很多这种方法出错的可能就很高,因为你得一个一个去对应字段是第几个。

2.fieldvalues[s:string]    variant     访问dataset的字段值

① fieldvalue:某个字段的值;

② FieldValues   相当于    Fieldbyname('').AsVariant

在实际使用中,FieldValues无需知道当前字段的类型,编译器会自动识别翻译该类型。但Variant  类型代码运行很慢,而且这样不利于养成良好的编程习惯所以不建议使用。

③ FieldValues[]是将字段数组中的值以名称方式直接取出,这种方法很方便,而且对取值不用做转换,但是这也是比较容易出错的,比如你的选择中有一条记录中的这个字段是空值时,而对应于取出的数据将无法自动进行转换,从而出现一个异常,使程序中断。

3.fieldbyname(s:string)      Tfield    可以指定它返回的类型

① fieldbyname一般用在数据集中,如:数据集.fieldbyname('字段名')。

② FieldByName()虽然比较烦,但是在字段比较多,而且又有可能出现空值的情况下使用是最好的,在使用时这个方法时,必须指定所返回的值为何类型,如AsString、AsInteger等,这样的类型转换可以将空值转换成长度为的0字符串或数据为0的数字型值。

③ fieldbyname().as....   具体的类型匹配。这个经常用~~  

你可能感兴趣的:(Delphi编程,数据库技术及其编程)