AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Access XP, ADO, tstringlist und tmemofield problem
Thema durchsuchen
Ansicht
Themen-Optionen

Access XP, ADO, tstringlist und tmemofield problem

Ein Thema von Blizzard · begonnen am 12. Jan 2003 · letzter Beitrag vom 12. Jan 2003
Antwort Antwort
Blizzard

Registriert seit: 4. Jan 2003
88 Beiträge
 
Delphi 6 Enterprise
 
#1

Access XP, ADO, tstringlist und tmemofield problem

  Alt 12. Jan 2003, 17:57
hallo leute,
ich bin grade dabei eine anwendung zu proggen mit der ich aus einer access db lese und darin schreibe das klappt soweit auch ganz gut. jetzt versuche ich gerade den inhalt einer tstringlist in ein memo feld zu schreiben. er scheint auch alle zu machen soll heißen er bringt keine fehlermeldung allerdings ist das memo feld danach leider leer.
Hir mal mein bisheriger Code:
Code:
var
   cast:tmemofield;
   bs:tadoblobstream;
   castlist:tstringlist;
begin
         ADOQuery1.SQL.Clear;
         ADOQuery1.SQL.Add('select * from ['+used_table+'-details] where [sub-id]='+id.text);

         cast:=tmemofield.Create(ADOQuery1);
         cast.FieldName:='cast';
         cast.Name:=ADOQuery1.Name+cast.FieldName;
         cast.Index:=0;
         cast.DataSet:=ADOQuery1;

         ADOQuery1.fielddefs.Update;
         ADOQuery1.open;

         castlist:=tstringlist.create;
         castlist.add('test');

        adoquery1.edit;
        bs:=TADOBlobStream.Create(cast,bmWrite);
        try
          castlist.SaveToStream(bs);
        finally
          adoquery1.Post;
          castlist.Free;
        end;

        ADOQuery1.Close;
        cast.Free;
end;
Hoffe mir kann jemand sagen was ich falsch mache oder mir einen tipp geben wie ich es anders/besser machen kann damit es klappt.
MfG
Blizzard
  Mit Zitat antworten Zitat
xbu58

Registriert seit: 10. Dez 2002
Ort: Bäretswil / Schweiz
121 Beiträge
 
Delphi 7 Enterprise
 
#2
  Alt 12. Jan 2003, 19:36
hallo Blizzard

Ich weiss nicht, ob das was Du gemacht hast überhaupt funktioneren kann. Als werde ich keinen Kommentar dazu abgeben und an Stelle dessen sagen, wie ich das jeweils mache.

Code:
procedure SaveToMemo(AStrList: TStrings; AMemoFld: TMemoField);
var
  xMemStream : TMemoryStream;
begin
  xMemStream := TMemoryStream.Create;
  try
    AStrList.SaveToStream(xMemStream);
    AMemoFld.LoadFromStream(xMemStream);
  finally
    xMemStream.Free;
  end;
end;
Natürlich muss das ADOQuery vorher aktiviert worden sein und das Feld bestehen. Weiter muss vorher entweder <Query>.Edit;, <Query>.Insert; oder <Query>.Append; und nachher <Query>.Post aufgerufen werden.

So mache ich das auf SQLServer und SQLAnywhere mit ADO. Bei beiden DBServern funktioniert das. Also sollte das auch bei Access gehen.

Gruss
Xaver
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz