AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

DBNavigator problem

Ein Thema von steppo · begonnen am 28. Jan 2008 · letzter Beitrag vom 29. Jan 2008
Antwort Antwort
steppo

Registriert seit: 31. Dez 2002
235 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

DBNavigator problem

  Alt 28. Jan 2008, 16:08
Datenbank: MSSQL2000 • Zugriff über: AdoQuery,DataSource,DBGrid,DBEdit
Hallo zusammen,

die Navigation über Dbnavigator funktioniert einwandfrei. Auch die Aktualisierung der DBEdit beim Datensatzwechsel ist in Ordnung.

Mein Problem liegt in folgender Vorgehensweise.

Ich möchte über Dbnavigator einen Datensatz anlegen(nbInsert)| Funktioniert!

Beim Anlegen des Datensatzes wird direkt ein DBEdit mit einem Wert vom Datentyp Boolean gefüllt. Funktioniert!

Wenn ich nun den Datensatz (aus versehen wechsele), passiert nichts.|O.K.

Nun habe ich einen neuen Datensatz im DBGrid, indem ein Feld den Wert False hat, was so auch richtig ist.

Ich bemerke nun, dass ich den neuangelegten Datensatz doch nicht brauche und wechsele zu diesem Datensatz.| kein Problem

Wenn ich nun aber auf Datensatz löschen klicke, bekomme ich den Fehler, dass der zu löschende Datensatz nicht vorhanden ist!
Ich habe in der Tabelle nachgesehen, und er ist wirklich nicht vorhanden.

Beende ich das Programm und starte es erneut, so ist der Datensatz mit dem einen Eintrag in der Datenbank vorhanden und kann auch ganz normal gelöscht werden!

Wie kommt es zu dieser Konstellation?

DBgrid zeigt Datensatz.
Tabelle hat diesen Datensatz nicht.

Wie behebe ich dieses Problem

Gruß Steppo
Wir sind heute die, vor denen uns unsere Eltern immer gewarnt haben!
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: DBNavigator problem

  Alt 28. Jan 2008, 16:16
Zitat von steppo:
Ich möchte über Dbnavigator einen Datensatz anlegen(nbInsert)| Funktioniert!
Falsche Vorgehensweise.
Einen neuen Datensatz legt man so an:
   ADOQuery1.Append; Ein DBNavigator ist nur für den Benutzer gedacht.
Änderungen an der Tabelle werden programmiertechnisch direkt über das TDataset (TADOQuery oder TADOTable) vorgenommen.
Andreas
  Mit Zitat antworten Zitat
steppo

Registriert seit: 31. Dez 2002
235 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

Re: DBNavigator problem

  Alt 28. Jan 2008, 16:18
Dieses Programm soll dem User ja die Möglichkeit geben, einen neuen Datensatz in der Tabelle anzulegen. Ich teste die funktionalität.

Gruß Steppo
Wir sind heute die, vor denen uns unsere Eltern immer gewarnt haben!
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: DBNavigator problem

  Alt 28. Jan 2008, 16:40
Irgendwo zwischen DBNavigator und Datenbank wirst Du j wohl ein Query-Objekt oder Table-Objekt haben.
Versuch mal, dort das RequestLive auf True zu setzen.

Ansonsten musst Du beim Wechseln des Datensatzes ein Commit absetzen.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
steppo

Registriert seit: 31. Dez 2002
235 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

Re: DBNavigator problem

  Alt 28. Jan 2008, 21:59
Hallo RavenIV

die Verbindung läuft über ein Adoquery, Datasource, DBNavigator. Bei der Adoquery gibt es keine RequestLive!

Gruß Steppo
Wir sind heute die, vor denen uns unsere Eltern immer gewarnt haben!
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: DBNavigator problem

  Alt 29. Jan 2008, 07:21
Moin,

TADOQuery und TADPTable sind die ADO-Äquivalente zu TQuery und TTable. Wenn du mit ADO arbeitest verwendest du in der Regel TADODataSet für das Arbeiten mit einem Cursor (ResultSet) oder TADOCommand resp. TADOConnection beim Arbeiten ohne Cursor. Probiere es aus - es lohnt sich.

Grüße vom marabu
  Mit Zitat antworten Zitat
steppo

Registriert seit: 31. Dez 2002
235 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

Re: DBNavigator problem

  Alt 29. Jan 2008, 11:44
Guten morgen marabu,

wie ich schon schrieb benutze ich TAdoQuery, Datasource,DBGrid und meherere DBEdits. Alles soll "natürlich" alles können. Also Aktualisierungen sofort übernehmen, DebEit soll sich die Werte aus verschiedenen Edits zusammen holen, usw..

Hat alles wunderbar funktioniert, bis auf das geschilderte Problem. Habe auch das in den Griff bekommen.

ADOQuery1.Requery(); Dieses automatische Aktualisierung der Komponente hat das Problem gelöst.

Danke für deine Antwort. Werde die von dir vorgeschlagene Vorgehensweise mal testen.

Gruß Steppo

P.s.: Danke auch für alle anderen Antworten
Wir sind heute die, vor denen uns unsere Eltern immer gewarnt haben!
  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 13:50 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