通过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();
多看书啊!
这时想给一个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();
多看书啊!