AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Status abfragen und darauf reagieren
Thema durchsuchen
Ansicht
Themen-Optionen

Status abfragen und darauf reagieren

Ein Thema von Light · begonnen am 23. Feb 2006 · letzter Beitrag vom 2. Mär 2006
Antwort Antwort
Benutzerbild von Light
Light

Registriert seit: 3. Feb 2006
Ort: Paderborn NRW
123 Beiträge
 
Turbo Delphi für Win32
 
#1

Status abfragen und darauf reagieren

  Alt 23. Feb 2006, 21:11
Datenbank: MyBase • Zugriff über: TClientDataSet
Hi Ihr,

Ich würde gerne wissen wie man den Status einer MyBase DB über TClientDataSet abfragt und vor allem welcher Status was bedutet.

- ich hab mich zwar in der Hilfe informiert aber irgendwie hat es in der Praxis nicht funkioniert!

Ich muss verhindern das eine Automatisch gestartete procedure nicht ausgeführt wird bis der duch den Benutzer gesteuerten neuen Eintrag in die DB fertig gestellt ist!

Weil wenn diese automatisch gestartete Procedure während des einfügens aufgerufen wird dann kommt mein gesammtes Programm zum stehen da man den Dialog der die neuen daten einfügen und speichert nicht mehr schließen kann!



Ich hoffe ihr könnt mir helfen!

LG Stefan

So hab ich das bis jetzt gemacht:
Delphi-Quellcode:
if CDSData.Status <> dsInsert
then
  Begin
    //Führe den Code aus .............
  End;
Stefan
  Mit Zitat antworten Zitat
gmc616

Registriert seit: 25. Jun 2004
Ort: Jena
627 Beiträge
 
Delphi 10.3 Rio
 
#2

Re: Status abfragen und darauf reagieren

  Alt 24. Feb 2006, 17:44
Hallo Du,

Ich hab zwar von MyBase keine Ahnung aber "Automatisch gestartete Procedure" hört sich für mich an wie ein Trigger.
In Oracle z.B. lassen sich Trigger abschalten, allerdings nur als DBAdmin. Evtl. geht das mit MyBase auch.

Aber wieso speicherst du Nicht-Komplette Datensätze in die DB? *grübel*

Gruß
gmc
  Mit Zitat antworten Zitat
Benutzerbild von Light
Light

Registriert seit: 3. Feb 2006
Ort: Paderborn NRW
123 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Status abfragen und darauf reagieren

  Alt 2. Mär 2006, 22:18
Hi gmc
Danke für dein Antwort!

ne is kein trigger - hab mich unklar ausgedrückt!

Also hier noch mal ganz ausführlich:
Mein Programm ist ein Wav(& und irgendwann auch mp3) abspieler
das programm spielt die titel von einer playliste aus -
jedes mal wenn ein titel angefangen wird zu spielen wird die gesammt länge dieses titels genommen in Min-sec umgewandelt und dann in dem Datensatz der zu dem Lied gehört eingetragen - so ist sichergestellt das immer die aktuelle länge des liedes in der Datenbank steht -
ein Datensatz sieht ungefähr so aus:
Titel - Genere - Länge - Pfad zur datei

So bis dahin ist das alles noch so einigermaßen functions tüchtig -
das problem trit auf wenn
1. Der Benutzer Neue Lieder in die Datenbank einfügen will - dies geht über einen Dialog
und 2. Ein Titel anfängt zu spielen
Folgender Fehler tritt auf:
wenn ein neues Lied 'angelegt' wird wird die DB in den Editier modus gesetz bzw. mit Append ein neuer Datensatz angehängt -
diesen soll dann ja der benuzer füllen-
wenn wärend dessen der Benutzer seine Daten eingibt jetz ein neues lied anfängt-
was durchaus häufig vorkommt -
dann wird dadurch die aktuallisierung der länge hervorgerufen
und die daten bank wird danach nicht wieder in den Editier modus zurück gesetzt sonder sie bleibt im nicht bearbeiten modus -

deshalb wollte ich "einfach" bevor ich die aktualisierung der Länge vornehme abfragen ob die Db schon im Editier modus ist - und falls sie das ist einfach die aktuallisierung weg fallen lassen
Nur das es bei mir leider nicht geklappt hat. wie im 1Beitrag schon gezeigt den Zustand abzufragen!

Ich hoffe ich hab mich klar ausgedrückt


Für ein bisschen hilfe wäre ich sehr dankbar!

LG Stefan
Stefan
  Mit Zitat antworten Zitat
Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.351 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Status abfragen und darauf reagieren

  Alt 2. Mär 2006, 22:56
Hi,

da TClientDataSet von TDataSet abstammt, sollte der Standardcode funktionieren:
Delphi-Quellcode:
if not CDSDate.State in [dsEdit, dsInsert] then
// oder: if CDSDate.State <> dsInsert
begin
  //...
end;
Cu, Frank
Frank Reim
  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 18:16 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