Hallo,
ich habe folgende Frage: ich erstelle in der
DB ein Datensatz, hole dessen ID und update in diese Zeile ein Bild, dass zuvor mittels OpenDialog ausgewählt wurde. Nun möchte ich ein Datensatz duplizieren, dafür erstelle ich in der
DB einen neuen Datensatz und falls das Bild bleiben soll, soll es einfach nur in die neue Zeile kopiert werden. Wie mache ich das nur? Also rein logisch ist es klar, ich selektiere das Bild mit der ZeileID=n und update es in die ZeileID=n+x. Wie schreibe ich nur den Code dazu? Praktisch wäre es die COPY Funktion, aber in der
SQL Sprache kann ich das ja nur mittels Select und Insert Into realisieren.
Danke!
Delphi-Quellcode:
if srcpic = '
pic-new'
then
begin
fs := TFileStream.Create(dest, fmOpenRead);
try
varid :=
db.GetLastInsertRowID;
sSQL2 := '
UPDATE media SET picture = ? WHERE id_media = ' + IntToStr(varid);
db.UpdateBlob(sSQL2, fs);
finally
FreeAndNil(fs);
end;
end else if srcpic = '
pic-sollbleiben'
then
begin
// hier also ungefähr so -> UPDATE media SET picture = ? WHERE (select picture where id_media=n) WHERE id_media=m
end;