Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi DBImage-Felder leeren, nicht löschen (https://www.delphipraxis.net/138790-dbimage-felder-leeren-nicht-loeschen.html)

Spargeltarzan 17. Aug 2009 18:13


DBImage-Felder leeren, nicht löschen
 
Hallo zusammen

Ich hab ein Problem: Mit Bildern Gefüllte TDBImage-Felder sollten geleert werden. Ich möchte nicht den gesamten Datensatz mit Delete mittels Navigator löschen. Also nur ein Art "Clear". Hat jemand eine Idee ? Ich komm einfach nicht drauf.
Delphi 2.0
Besten Dank für Eure Beiträge.

Gruss
Spargeltarzan

mkinzler 17. Aug 2009 18:14

Re: DBImage-Felder leeren, nicht löschen
 
Am Besten Datenbankfeld auf NULL setzen bzw
Delphi-Quellcode:
Field.Clear;

Spargeltarzan 17. Aug 2009 21:39

Re: DBImage-Felder leeren, nicht löschen
 
Danke für den Hint.

Hab's folgendermassen versucht:

table1.edit;
dbimage1.field.clear;

ergibt eine Fehlermeldung: BLOB not opened.

Nochmals ausgeführt ergabs die Fehlermeldung: Record locked by another user

MFG
Spargeltarzan

mkinzler 17. Aug 2009 21:41

Re: DBImage-Felder leeren, nicht löschen
 
Wende es mal direkt auf das Feld in der Datenbank an.

Spargeltarzan 17. Aug 2009 22:36

Re: DBImage-Felder leeren, nicht löschen
 
Wie meintest Du das, auf die Datenbank anwenden ?
Ich habs so versucht:
Delphi-Quellcode:
table1.edit;
//dbimage1.field.clear;
table1.FieldByName('Holzbild').AsString := '';
Dies ergab dann wieder die gleiche Fehlermeldung: locked.

Gruss
Spargeltarzan

[edit=mkinzler]Delphi-Tag eingefügt Mfg, mkinzler[/edit]

mkinzler 18. Aug 2009 05:37

Re: DBImage-Felder leeren, nicht löschen
 
Delphi-Quellcode:
table1.FieldByName('Holzbild').Clear;
oder
Delphi-Quellcode:
table1.FieldByName('Holzbild').Value := NULL;

Spargeltarzan 18. Aug 2009 23:36

Re: DBImage-Felder leeren, nicht löschen
 
Hallo

Besten Dank für Deine Vorschläge, aber alle beide gingen nicht. Es gab jedes mal die Fehlermeldung: Record locked, used by another user.
Mein Quelltext:
Delphi-Quellcode:
begin
table1.edit;
  //dbimage1.field.clear;
  //table1.FieldByName('Holzbild').CanModify;
  table1.FieldByName('Holzbild').Value := NULL;
  //table1.FieldByName('Holzbild').Clear;
end;
Hab alle Möglichkeiten durchgespielt, ohne Erfolg.

Gruss
Spargeltarzan

[edit=mkinzler]Delphi-Tag eingefügt Mfg, mkinzler[/edit]

Spargeltarzan 19. Aug 2009 03:31

Re: DBImage-Felder leeren, nicht löschen
 
Hallo

Bei Eingabe:

table1.edit;
dbimage1.field.clear;

gabs die Fehlermeldng: BLOB not opened.

Was muss ich tun um BLOB zu öffnen ?

Gruss
Spargeltarzan

Spargeltarzan 19. Aug 2009 03:39

Re: DBImage-Felder leeren, nicht löschen
 
Hab noch folgendes probiert:

Delphi-Quellcode:
begin
table1.active:=false;
table1.active:=true;
table1.edit;
try
  Table1.Open;
except
  on EDataBaseError do dbimage1.field.clear;{ The dataset could not be opened }
end;
ohne Erfolg, hab jetzt einfach keine Fehlermeldung, aber das Feld wurde nicht geleert.

Gruss
Spargeltarzan

[edit=mkinzler]Delphi-Tag eingefügt Mfg, mkinzler[/edit]

Spargeltarzan 19. Aug 2009 20:27

Re: DBImage-Felder leeren, nicht löschen
 
Kann es sein, dass die DB im Programm offen ist und benützt wird ? Ich bekomm die Fehlermeldung: Record locked, DB used by another user (Bei Anwendung von : table1.FieldByName('Holzbild').Value := NULL - zum leeren des Feldes.

Ich verwende verschiedene TTable's mit derselben DB in anderen Units. Sind diese denn offen ?

Kann mir jemand weiterhelfen, dass ich diese Fehlermeldung (Locked) nicht mehr kekomme ?

Gruss

Spargeltarzan


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:53 Uhr.
Seite 1 von 3  1 23      

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