Avatar billede morten_s Nybegynder
05. september 2001 - 08:13 Der er 6 kommentarer og
1 løsning

Anvendelse af Blob-felt

Jeg har nogle \"lidt ustrukturerede data\", som jeg ønsker at gemme i et Blob-felt, i en DB.

Mit spørgsmål går på hvordan et sådan felt håndteres fra delphi, skriver man strenge ned i feltet en af gangen, eller samler man først dataene i en kæmpe streng.

og selvfølgelig også den anden vej når data skal læses fra feltet.

Jeg har tænkt mig at seperere mine strenge i Blob feltet med f.eks. en #2, for på den måde at lave en \"mini\"-protokol til at adskille elementerne i feltet

Hvis nogen ligger inde med lidt eks. kode vil det også være godt

/Morten
Avatar billede martinlind Nybegynder
05. september 2001 - 08:29 #1
Du bruger en TBlobStream

du kan se i hjælpen hvordan, det er ikke så svært
Avatar billede morten_s Nybegynder
05. september 2001 - 08:56 #2
Martin> 30 point plejer at kunne give lidt kode ;-))
Avatar billede martinlind Nybegynder
05. september 2001 - 09:26 #3
var
  S : TStream;

begin
  S := MyTable.CreateBlobStream(MyTable.FieldByName(\'MyField\'),bmReadWrite);
  // Så kan du bruge streamen som man gør med en alm stream
  S.Free;
end;

/Martin
Avatar billede morten_s Nybegynder
05. september 2001 - 17:13 #4
Martin> lad os lige tage det fra bunden.

jeg har et antal tekststrenge som jeg gerne vil gemme i db\'en i blob feltet.

De kan jo feks se sådan her ud:

String1 := \'Dette er streng nr 1, den skal gemmes i et blob felt sammen med et på designtime ukendt antal andre strenge\';

String2 := \'Streng 2 gemmes i blob felt med streng1\';
String3 :=...
String4:= ..
osv.

Feltet er oprettet i db en, så vi skal bare have puttet strengene derned med noget SQL haløj

QueryBlob.SQL.Add(\'INSERT into BlobDB \'+
                  \'(NextId, BlobFelt) \'+
                  \' VALUES (7, blob?????????)\';

noget i den stil må da kunne lade sig gøre ?


                                     
Avatar billede martinlind Nybegynder
05. september 2001 - 17:23 #5
Så putter du dem ind i en TStringList (add(tekst1), add(tekst2) osv. ) og så gemmer du Listens Text property i blobfeltet og læser ud fra blob\'en til Text property\'en på en createt tstringlist, så kører det *S*

Jeg har ikke helt styr på hvordan du gør det med SQL.text, men du kan bruge ParamByName(\'Blobfelt\').ASString

:Blobdata i din sql laver et parameter der heder blobdata

/Martin
Avatar billede morten_s Nybegynder
11. september 2001 - 11:46 #6
Er der slet ingen som har prøvet dette og har lidt eksempel kode på lager ?
Avatar billede martinlind Nybegynder
11. september 2001 - 11:49 #7
Brug en Parameter, det er det nemeste
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester