AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi DBImage-Felder leeren, nicht löschen
Thema durchsuchen
Ansicht
Themen-Optionen

DBImage-Felder leeren, nicht löschen

Ein Thema von Spargeltarzan · begonnen am 17. Aug 2009 · letzter Beitrag vom 21. Aug 2009
Antwort Antwort
Seite 1 von 3  1 23      
Spargeltarzan
(Gast)

n/a Beiträge
 
#1

DBImage-Felder leeren, nicht löschen

  Alt 17. Aug 2009, 18:13
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
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: DBImage-Felder leeren, nicht löschen

  Alt 17. Aug 2009, 18:14
Am Besten Datenbankfeld auf NULL setzen bzw Field.Clear;
Markus Kinzler
  Mit Zitat antworten Zitat
Spargeltarzan
(Gast)

n/a Beiträge
 
#3

Re: DBImage-Felder leeren, nicht löschen

  Alt 17. Aug 2009, 21:39
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
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: DBImage-Felder leeren, nicht löschen

  Alt 17. Aug 2009, 21:41
Wende es mal direkt auf das Feld in der Datenbank an.
Markus Kinzler
  Mit Zitat antworten Zitat
Spargeltarzan
(Gast)

n/a Beiträge
 
#5

Re: DBImage-Felder leeren, nicht löschen

  Alt 17. Aug 2009, 22:36
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]
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: DBImage-Felder leeren, nicht löschen

  Alt 18. Aug 2009, 05:37
table1.FieldByName('Holzbild').Clear; oder table1.FieldByName('Holzbild').Value := NULL;
Markus Kinzler
  Mit Zitat antworten Zitat
Spargeltarzan
(Gast)

n/a Beiträge
 
#7

Re: DBImage-Felder leeren, nicht löschen

  Alt 18. Aug 2009, 23:36
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]
  Mit Zitat antworten Zitat
Spargeltarzan
(Gast)

n/a Beiträge
 
#8

Re: DBImage-Felder leeren, nicht löschen

  Alt 19. Aug 2009, 03:31
Hallo

Bei Eingabe:

table1.edit;
dbimage1.field.clear;

gabs die Fehlermeldng: BLOB not opened.

Was muss ich tun um BLOB zu öffnen ?

Gruss
Spargeltarzan
  Mit Zitat antworten Zitat
Spargeltarzan
(Gast)

n/a Beiträge
 
#9

Re: DBImage-Felder leeren, nicht löschen

  Alt 19. Aug 2009, 03:39
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]
  Mit Zitat antworten Zitat
Spargeltarzan
(Gast)

n/a Beiträge
 
#10

Re: DBImage-Felder leeren, nicht löschen

  Alt 19. Aug 2009, 20:27
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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 21:11 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