通过SQL语句从数据库中拉数据时,表中字段中的数据类型就会和ClientDataSet中的绑定在一起,
这时想给一个Float的字段赋字符串就不行,
可以通过一个假的SQL语句生成一个新的ClientDataSet,
如: sql := 'select ''1111111111'' as GDNG,1.2 as Seq,''1111111111111111111111111'' as muser, ''1111111111111'' as mdate from dual where 1=2';
这样就可以取到可用的字段类型了

上次遇到这个问题,解决了但是没有把方法记录下来,
导致这次又花了很长时间才找到解决方法.

记录解决问题的过程,
切记! 

另一种方法如下:
    cdsSchema := TClientDataSet.Create(nil);
      cdsSchema.FieldDefs.Add('GDNG',ftString,40);
      cdsSchema.FieldDefs.Add('Seq',ftFloat);
      cdsSchema.FieldDefs.Add('muser',ftString,40);
      cdsSchema.FieldDefs.Add('mdate',ftString,40);
      cdsSchema.CreateDataSet;
      cdsSchema.Open();
多看书啊!