I SOLVED it
cds.FieldDefs.Add('ID', ftinteger);//this disp OK,The length of the int type is fixed
cds.FieldDefs.Add('QuanGuoXueJiHao', ftstring, 20);//TBufDataset use buf size ,
String type length is not fixed, if undefined, the length is zero and is not displayed
cds.FieldDefs.Add('ShiLingErTongXingMing', ftstring, 12);
cds.post ;//Not required in debug mode