Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi mode einer adoquerry prüfen (https://www.delphipraxis.net/40616-mode-einer-adoquerry-pruefen.html)

markon 18. Feb 2005 09:47

Datenbank: access • Version: 2000 • Zugriff über: ado

mode einer adoquerry prüfen
 
hallo.

wie kann ich den mode ein adquerry prüfen??

:arrow: möchte prüfen ob die querry sich im insert oder edit mode befindet?

was hat das mit dem "CheckBrowseMode" auf sich.. könnte die lösung sein.. komm aber damit nicht klar :oops:

proitsystems 18. Feb 2005 10:07

Re: mode einer adoquerry prüfen
 
Hallo!

Benutze die Eigenschaft "State". Folgende Werte wären für dich interessant:

dsEdit
Der aktive Datensatz kann geändert werden.

dsInsert
Der aktive Datensatz ist ein neu eingefügter Puffer, der noch nicht eingetragen wurde. Dieser Datensatz kann geändert und dann entweder eingetragen oder verworfen werden.


Gruss,

Marc
-----
PRO IT SYSTEMS

markon 18. Feb 2005 10:13

Re: mode einer adoquerry prüfen
 
wenn ich
Delphi-Quellcode:
if ADOQuery.State=dsinsert then ...
dann kommt die meldung das dsinsert nicht definiert ist!?

Bitworm 18. Feb 2005 10:21

Re: mode einer adoquerry prüfen
 
Zitat:

Zitat von markon
wenn ich
Delphi-Quellcode:
if ADOQuery.State=dsinsert then ...
dann kommt die meldung das dsinsert nicht definiert ist!?

Dann trage DB in Deiner uses ein und er sollte es dann kennen.

markon 18. Feb 2005 12:58

Re: mode einer adoquerry prüfen
 
:thumb: danke dir

toyoman 9. Jan 2008 07:25

Re: mode einer adoquerry prüfen
 
Zitat:

Zitat von proitsystems
Hallo!

Benutze die Eigenschaft "State". Folgende Werte wären für dich interessant:

dsEdit
Der aktive Datensatz kann geändert werden.

dsInsert
Der aktive Datensatz ist ein neu eingefügter Puffer, der noch nicht eingetragen wurde. Dieser Datensatz kann geändert und dann entweder eingetragen oder verworfen werden.


Gruss,

Marc
-----
PRO IT SYSTEMS

Versuche ebenfalls den Status der Query abzufragen um danach die Daten zu speichern oder eben nicht. Leider funktioniert die Abfrage:

Delphi-Quellcode:
if (datamodule2005.ADOQuery7.State=dsedit) or (datamodule2005.ADOQuery7.State=dsinsert) then
begin
    datamodule2005.ADOQuery7.Post;
end;
nicht, sprich egal ob ich grad Daten eingefügt oder editiert habe scheinbar bin ich nie in diesem Status mit meiner Query.

Was kann der Grund sein?

marabu 9. Jan 2008 07:51

Re: mode einer adoquerry prüfen
 
Hallo,

eventuell prüfst du zum falschen Zeitpunkt. Lass dir den State doch mal per ShowMessage() ausgeben. Vielleicht siehst du dann schon die Ursache deines Problems.

Freundliche Grüße

mashutu 9. Jan 2008 08:44

Zitat:

Zitat von toyoman
Delphi-Quellcode:
if (datamodule2005.ADOQuery7.State=dsedit) or (datamodule2005.ADOQuery7.State=dsinsert) then
begin
    datamodule2005.ADOQuery7.Post;
end;
nicht, sprich egal ob ich grad Daten eingefügt oder editiert habe scheinbar bin ich nie in diesem Status mit meiner Query.

Was kann der Grund sein?

Namen wie ADOQuery7 lassen darauf schliessen, dass Du Dich vielleicht mit Deinen ganzen auf das Form geklickt und gezogenen Komponenten noch nicht richtig angefreundet hast.
Gib mal jedem einen aussagekraeftigen Namen. vielleicht merkst Du dann, dass Du auf der falschen Query pruefst...

BTW
Delphi-Quellcode:
if (datamodule2005.ADOQuery7.State in[dsEdit,dsInsert]) then
    datamodule2005.ADOQuery7.Post;
sieht (fuer mich) eleganter aus.
[Edit: schliessende Klammer vergessen)

toyoman 9. Jan 2008 12:31

[quote="mashutu"]
Zitat:

Zitat von toyoman
Namen wie ADOQuery7 lassen darauf schliessen, dass Du Dich vielleicht mit Deinen ganzen auf das Form geklickt und gezogenen Komponenten noch nicht richtig angefreundet hast.
Gib mal jedem einen aussagekraeftigen Namen. vielleicht merkst Du dann, dass Du auf der falschen Query pruefst...

BTW
Delphi-Quellcode:
if (datamodule2005.ADOQuery7.State in[dsEdit,dsInsert]) then
    datamodule2005.ADOQuery7.Post;

Hab mich schon längst damit angefreundet. Das ist nicht mein Problem. Ich prüfe die richtige Query. Warum die den standard Namen haben hat auch seinen Grund:
Ich verwende die ConnectSQL Unit in mehreren Projekten (mit einem Datamodule). Das hat für mich den Vorteil dass ich das nicht jedesmal neu machen muss sondern einfach diese Unit einbinde und die bestehenden Verbindungs und Query Komponenten nutze.

Ich nehme an deine vorgeschlagene Änderung ist rein kosmetisch? Oder soll das die Lösung für mein Problem sein?


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:47 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