[Delphi/Access] Memo fields inserten of updaten

Pagina: 1
Acties:

  • whoami
  • Registratie: December 2000
  • Laatst online: 15:52
Ik heb een Delphi applicatie die connectie maakt met een Access databank. In die databank is er een tabel 'Opmerkingen' met een veld 'Opmerking' van het type Memo.

Nu moet ik mbhv die Delphi Applicatie natuurlijk een opmerking kunnen toevoegen of aanpassen en hier zit het probleem.
Als ik een requestlive query maak, met het volgende sql - statement
code:
1
SELECT * FROM tblOpmerking WHERE Id = :Id

en die query dan Post naar de databank, dan krijg ik volgende error:
Non Blob column in table required to perform operation.
Ik had het dan ook eens met een gewone INSERT query geprobeerd, en daar krijg ik soms de volgende foutmelding:
String data, right truncated [NULL]
Iemand die me uit de penarie kan helpen?

Waarom moet ik hier ook access gebruiken grrr.

https://fgheysels.github.io/


  • whoami
  • Registratie: December 2000
  • Laatst online: 15:52
**kick**

Niemand anders die ooit eens tegen dit probleem gelopen is?

https://fgheysels.github.io/


  • whoami
  • Registratie: December 2000
  • Laatst online: 15:52
Zal ik em nog maar es kicken.

https://fgheysels.github.io/


Verwijderd

Hoe ziet je tabel eruit?

  • whoami
  • Registratie: December 2000
  • Laatst online: 15:52
De tabel waar ik in m'n opmerking in post:
code:
1
2
3
4
OpmerkingId    INT,
TypeOpmerking    CHAR(1),
LinkId        INT,
Opmerking        MEMO

https://fgheysels.github.io/


  • Falcon
  • Registratie: Februari 2000
  • Laatst online: 09:46

Falcon

DevOps/Q.A. Engineer

Wat zijn de instellingen van de tabel opmerkingen? oops staat er al :)

"We never grow up. We just learn how to act in public" - "Dyslexie is a bitch"


  • whoami
  • Registratie: December 2000
  • Laatst online: 15:52
Zeer eigenaardig.
Als ik een nieuwe persoon maak, en bij die persoon een record insert in de tabel opmerk, dan geeft hij geen fout.

Als ik het venster sluit, en dan de opmerking wijzig kan ik alles ook goed wegschrijven naar de db. Laat ik het venster open staan, en ik wijzig de opmerking nog es, dan krijg ik die fout 'right truncated data' ofzo. Als ik het venster sluit en terug open en dan wijzig dan lukt het wel weer?? :?

Hier een stukje relevante code die onder m'n applybutton zit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
    dmStd.dbStd.StartTransaction();

    qryRecord.Edit();
    if PrimKey = -1 then begin
    PrimKey := MaakNieuweSleutel(qryNewKey);
    qryRecord.FieldByName('PatientId').AsInteger := PrimKey;

    end;

    qryRecord.Post();

    if OpmerkingHasChanged then begin
    qryUpdOpmerking.SQL.Text := 'DELETE FROM tblOpmerkingen ' +
                        'WHERE tblOpmerkingen.LinkId = ' +
                                        IntToStr(PrimKey) +
                        ' AND tblOpmerkingen.TypeOpmerking = ''P''';
    qryUpdOpmerking.Close();
    qryUpdOpmerking.ExecSQL();
    if OpmerkingDBMemo.Text <> '' then begin
      qryUpdOpmerking.Close();
      qryUpdOpmerking.SQL.Text := 'INSERT INTO tblOpmerkingen ' +
                        '(TypeOpmerking, LinkId, Opmerking) ' +
                        'VALUES (:TO, :LinkId, :Opm)';

      qryUpdOpmerking.ParamByName('TO').AsString    := 'P';
      qryUpdOpmerking.ParamByName('LinkId').AsInteger := PrimKey;
      qryUpdOpmerking.ParamByName('Opm').AsMemo  := OpmerkingDBMemo.Text;

      qryUpdOpmerking.ExecSQL();
    end;

    end;

    dmStd.dbStd.Commit();

qryRecord is de Requestlive query die de gegevens van de persoon gaat gaan ophalen. Die gegevens staan dus in een andere table dan de opmerking.

https://fgheysels.github.io/


  • whoami
  • Registratie: December 2000
  • Laatst online: 15:52
Dit is de error die ik krijg:
Afbeeldingslocatie: http://users.pandora.be/fgzone/error.bmp

https://fgheysels.github.io/


  • whoami
  • Registratie: December 2000
  • Laatst online: 15:52
'k snap er niets meer van.
Ik doe het nu als volgt:
Als ik een nieuwe persoon aanmaak, dan ga ik gebruik maken van een INSERT query om die opmerking te bewaren.
Als het echter om een bestaande persoon/opmerking gaat die ik wijzig, doe ik het mbhv de request-live query en doe ik gewoon een post van die query.

Nu, soms werkt het en soms niet. En ik kan echt niet voorspellen wanneer het wel gaat werken en wanneer niet.

I'm desperate. :( :'( |:(

Access : :r

https://fgheysels.github.io/


Verwijderd

Volgens mij is er een probleem met Access 97 met ODBC [, Delphi] en toevoegen van strings in memo velden met lengte > 255.

[edit]
Kijk ook 's hier

  • whoami
  • Registratie: December 2000
  • Laatst online: 15:52
Op dinsdag 08 januari 2002 21:49 schreef DiFool het volgende:
Volgens mij is er een probleem met Access 97 met ODBC [, Delphi] en toevoegen van strings in memo velden met lengte > 255.
Ik dacht ook eerst dat het met de lengte te maken had, maar ik krijg de fout ook bij kortere strings.
Trouwens, ik gebruik Access 2000.

https://fgheysels.github.io/


Verwijderd

Nog iets gevonden :)

  • whoami
  • Registratie: December 2000
  • Laatst online: 15:52
Hmm. Driver problem dus. Thx, zal eens de BDE native drivers gaan gebruiken.

https://fgheysels.github.io/


  • whoami
  • Registratie: December 2000
  • Laatst online: 15:52
Grrr. De native BDE Access drivers werken niet met een Access2000 db maar wel met een Access97 db....

Dan maar eens de ADO componenten bezigen.

https://fgheysels.github.io/


  • whoami
  • Registratie: December 2000
  • Laatst online: 15:52
'k heb natuurlijk die ADO componenten niet bij Delphi 5 zitten (heb de professional edition).
Ik heb wel C++ Builder Enterprise waar ze wel bij zitten, maar ik kan die specifieke package blijkbaar niet importeren naar Delphi...

Ik krijg de fout : "Een apparaat aangesloten op het systeem werkt niet".

'k dacht nochtans dat Delphi en C Builder code compatibel waren?

https://fgheysels.github.io/


Verwijderd

Je kunt hier 's kijken voor freeware ADO componenten.

  • whoami
  • Registratie: December 2000
  • Laatst online: 15:52
Heb een parameter probleem bij het gebruiken van die componenten. Heb er maar even een nieuw topic over geopend.
[topic=374922/1/25]

https://fgheysels.github.io/

Pagina: 1