Recent

Author Topic: [SOLVED]TBufDataset insert data(string Type) no disp no dbgrid  (Read 3844 times)

loadymf

  • New member
  • *
  • Posts: 9
[SOLVED]TBufDataset insert data(string Type) no disp no dbgrid
« on: November 10, 2023, 04:10:49 am »
when I use TBufDataset insert data(string Type) no disp no dbgrid.
Only disp ID,other field not disp?How to fix it ?
code is under
Quote
procedure TForm1.Button1Click(Sender: TObject);
var
    F:TFieldDef;

begin
     cds.Close;
   cds.FieldDefs.Clear;
      F:= cds.FieldDefs.AddFieldDef;
   f.Name:='id';
   f.Required:=true;
   f.DataType:=ftinteger;
   F:= cds.FieldDefs.AddFieldDef;
   f.Name:='QuanGuoXueJiHao';
   f.Required:=false;
   f.DataType:=ftString;
      F:= cds.FieldDefs.AddFieldDef;
   f.Name:='ShiLingErTongXingMing';
   f.Required:=true;
   f.DataType:=ftString;
   cds.CreateDataset;
   cds.Append;
    cds.FieldByName('ID').AsInteger:=1;
     cds.FieldByName('QuanGuoXueJiHao').AsAnsiString:='ymf2';
    cds.FieldByName('ShiLingErTongXingMing').AsString:='ymf';
    cds.Open;
 
« Last Edit: November 12, 2023, 02:01:01 am by loadymf »

cdbc

  • Hero Member
  • *****
  • Posts: 1083
    • http://www.cdbc.dk
Re: TBufDataset insert data(string Type) no disp no dbgrid
« Reply #1 on: November 10, 2023, 07:53:27 am »
Hi
At least, you need a "Post" in there, to store the data, something like this:
Code: Pascal  [Select][+][-]
  1.    cds.Append;
  2.     cds.FieldByName('ID').AsInteger:=1;
  3.      cds.FieldByName('QuanGuoXueJiHao').AsAnsiString:='ymf2';
  4.     cds.FieldByName('ShiLingErTongXingMing').AsString:='ymf';
  5.     cds.Post; // <--- This one
  6.     cds.Open;
  7.  
Regards Benny
If it ain't broke, don't fix it ;)
PCLinuxOS(rolling release) 64bit -> KDE5 -> FPC 3.2.2 -> Lazarus 2.2.6 up until Jan 2024 from then on it's: KDE5/QT5 -> FPC 3.3.1 -> Lazarus 3.0

loadymf

  • New member
  • *
  • Posts: 9
Re: TBufDataset insert data(string Type) no disp no dbgrid
« Reply #2 on: November 12, 2023, 02:00:12 am »
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

 

TinyPortal © 2005-2018