Recent

Author Topic: Field of types ftString not persistent  (Read 2373 times)

matthijsj

  • Newbie
  • Posts: 3
Field of types ftString not persistent
« on: October 10, 2024, 09:43:37 am »
I have a form with a BufDataSet, a dbGrid and a datasource connecting them. When I try to enter data in a field of type ftString, the entered data is not persistent. The data is removed when I move to the next field. What do I do wrong?

matthijsj

  • Newbie
  • Posts: 3
Re: Field of types ftString not persistent
« Reply #1 on: October 16, 2024, 02:19:51 pm »
I entered the following code:
Code: Pascal  [Select][+][-]
  1. procedure TForm1.Button1Click(Sender: TObject);
  2. begin
  3.   BufDataset1.Insert;
  4.   BufDataset1.FieldByName('Number').Value := 1000;
  5.   BufDataset1.FieldByName('Naam').Value := 'EenWaarde';
  6.   BufDataset1.Post;
  7. end;  
  8.  
However the field "Naam' does not save the data.
« Last Edit: October 16, 2024, 03:22:35 pm by matthijsj »

dseligo

  • Hero Member
  • *****
  • Posts: 1601
Re: Field of types ftString not persistent
« Reply #2 on: October 16, 2024, 02:28:18 pm »
Post example project which shows your problem.

Also provide (https://wiki.freepascal.org/Forum):
- the name of your operating system
- the version of your operating system
- the version of your Free Pascal Compiler
- the version of your Lazarus IDE

Thaddy

  • Hero Member
  • *****
  • Posts: 18311
  • Here stood a man who saw the Elbe and jumped it.
Re: Field of types ftString not persistent
« Reply #3 on: October 16, 2024, 02:36:48 pm »
Het naam veld moet een shortstring zijn. string[255]
The name field should be a shortstring type with a value to the maximum you expect.
Otherwise you store a pointer...
« Last Edit: October 16, 2024, 02:38:26 pm by Thaddy »
Due to censorship, I changed this to "Nelly the Elephant". Keeps the message clear.

wp

  • Hero Member
  • *****
  • Posts: 13207
Re: Field of types ftString not persistent
« Reply #4 on: October 16, 2024, 07:15:17 pm »
I don't see any problem with the code that you posted for TBufdataset. See attached sample project.

Zvoni

  • Hero Member
  • *****
  • Posts: 3135
Re: Field of types ftString not persistent
« Reply #5 on: October 17, 2024, 08:18:40 am »
And shouldn't he use "AsInteger", "AsString" instead of "Value"?
One System to rule them all, One Code to find them,
One IDE to bring them all, and to the Framework bind them,
in the Land of Redmond, where the Windows lie
---------------------------------------------------------------------
Code is like a joke: If you have to explain it, it's bad

rvk

  • Hero Member
  • *****
  • Posts: 6885
Re: Field of types ftString not persistent
« Reply #6 on: October 17, 2024, 09:34:21 am »
And shouldn't he use "AsInteger", "AsString" instead of "Value"?
Value is a variant, so it will accept a string and convert it back to the correct fieldtype.

But we haven't seen anything of the rest of the code and defined fields.
(Although pushing a string into a ftInteger field via a variant will result in an exception.)

matthijsj

  • Newbie
  • Posts: 3
Re: Field of types ftString not persistent
« Reply #7 on: October 19, 2024, 03:51:24 pm »
Size should be given when fieldtype is ftString.

Richard Marriott

  • New Member
  • *
  • Posts: 14
Re: Field of types ftString not persistent
« Reply #8 on: December 16, 2024, 07:20:11 am »
I assume you set up the table in the IDE, so go back to the field definitions property and make sure that the definition for 'Namm" contains a size parameter (as matthijsj suggests).
The other suggestions should all work. Value is a variant that contents the input to the field definition type. The only other thing I can think of is to try 'Append" rather than "Insert" in your code.

 

TinyPortal © 2005-2018