Bonjour à tous,
Je reviens de nouveau vers la communauté pour essayer de m'aider sur un problème que je n'arrive pas à résoudre ... non faute d'avoir parcouru de long en large les différents fils de discussion & FAQ sur les "BLOBS" et "DBMEMO" !!!
J'ai une forme avec des "edits" (no problémo avec ceux-ci ) surtout un "DBMemo"/"DBImage" (en fait plusieurs mais pour l'exposé je me cantonne à un seul)
Quand je veux sauvegarder dans la BD Postgresql (colonnes type : bytea)
je n'arrive pas à relire et je ne peux pas contrôler du même coup la sauvegarde
dbmInfo1 est un DBMemo lié à la colonne "Regles_Info1_Save1"
Code de la Base sous Postgresql :
le code pour la sauvegarde :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
35
36
37
38
39
40
41
42 -- Table: "TRegles" -- DROP TABLE "TRegles"; CREATE TABLE "TRegles" ( "Regles_ID" serial NOT NULL, "Regles_Intitule" character varying(20) NOT NULL, "Regles_Libelle" character varying(60), "Regles_Data1" integer NOT NULL, "Regles_Data2" integer, "Regles_Date1" character varying(10), "Regles_Date2" character varying(10), "Regles_Info1" bytea, "Regles_Info1_Save1" bytea, "Regles_Info1_Save2" bytea, "Regles_Info1_Save3" bytea, "Regles_Info1_Save4" bytea, "Regles_Info1_Save5" bytea, "Regles_Info2" bytea, "Regles_Info2_Save1" bytea, "Regles_Info2_Save2" bytea, "Regles_Info2_Save3" bytea, "Regles_Info2_Save4" bytea, "Regles_Info2_Save5" bytea, CONSTRAINT "pkRegles_ID" PRIMARY KEY ("Regles_ID" ) ) WITH ( OIDS=FALSE ); ALTER TABLE "TRegles" OWNER TO postgres; -- Index: "idx_Regles" -- DROP INDEX "idx_Regles"; CREATE UNIQUE INDEX "idx_Regles" ON "TRegles" USING btree ("Regles_Intitule" COLLATE pg_catalog."default" );
le code de relecture :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 var AMemStream : TMemoryStream; with dtmMain,sqlqRegles do begin ParamByName('peReglInfo1').AsBlob := AnsiString(mRegles_Info1.Lines); ParamByName('peReglInfo2').AsBlob := AnsiString(mRegles_Info2.Lines); AMemStream:= tMemoryStream.Create; try dbmInfo1.Lines.SaveToStream(AMemStream); AMemStream.Seek(0, soFromBeginning); ParamByName('peRegles_Info1_Save1').LoadFromStream(AMemStream, ftMemo); ExecSQL; finally AMemStream.free; end; end;
voilà quelques jours où je tourne en rond sans échappatoire j'espère trouver réponse et / ou conseil pour résoudre mon problème
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 with dtmMain.sqlqRegles, frm1Regle do begin mRegles_Info1.Text := FieldByName('Regles_Info1').AsString; mRegles_Info2.Text := FieldByName('Regles_Info2').AsString; dbmInfo1.Text := FieldByName('Regles_Info1_Save1').AsString; end;
En remerciant par avance.
Daniel
Partager