Entwickler-Ecke
Datenbanken - Memofeld per SQL auslesen und in eine neue DB schreiben
saxe66 - Di 17.04.12 07:54
Titel: Memofeld per SQL auslesen und in eine neue DB schreiben
Hallo Delphianer,
ich möchte ein Memo von einer Datenbank in eine andere kopieren. Wie kann man das ohne umständliches (sprich zeilenweises) Auslesen realisieren ?
Mein Ansatz war eigentlich folgender :
Variable m1 vom Typ TMemo,
Q1.SQL.Add('select fmemo from tabelle')
...
m1:=Q1.Fields[0].Value
...
Q2.SQL.Add('insert into neuetabelle (fmemo) values(m1)');
Funktioniert leider nicht, hat jemand eine Lösung ?
Danke ...
zuma - Di 17.04.12 11:08
saxe66 hat folgendes geschrieben : |
Q1.SQL.Add('select fmemo from tabelle')
...
m1.Lines.Text := Q1.Fields[0].AsString;
...
Q2.SQL.Add('insert into neuetabelle (fmemo) values('m1.Lines.Text')');
|
Mal so aus dem Bauch, keine Garantie ;)
haentschman - Di 17.04.12 19:21
Hallo...
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| Q1.SQL.Add('select fmemo from tabelle') ...
m1.Lines.Text := Q1.Fields[0].AsString; ...
Q2.SQL.Add('insert into neuetabelle (fmemo) values('m1.Lines.Text')'); |
...die SQL Abfrage kann doch das Memo nicht kennen. Ein + dazwischen um den SQL String zusammenzusetzen hätte ich grad gelten lassen. Aber: Warum über eine visuelle Komponente als Umweg ? :gruebel:
Vorschlag ohne Umweg mit Parametern (wichtig und überhaupt :zwinker:) :
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| Q1.SQL.Text:= 'select fmemo from tabelle'; Q1.Open;
while not Q1.Eof do begin Q2.SQL.Text:= 'insert into neuetabelle (fmemo) values (:B)'; Q2.ParamByName('B').Value:= Q1.FieldByName('fmemo').Value; Q2.ExecSQL; Q1.Next; end; |
saxe66 - Do 19.04.12 13:16
Danke für eure Hilfe ...
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!