Autor |
Beitrag |
Tabakbrummel
      
Beiträge: 124
win 7
Turbo Delphi, VS 20010 Express
|
Verfasst: Di 08.11.05 14:12
Hi
Ich habe da ein Problem? Wenn ich eine neue Zeile im DBGrid öffne erscheint im Panel immer -1. Wie kann man es abfangen, daß es die nächst höhere zahl ausgegeben wird?
Delphi-Quelltext 1: 2: 3: 4:
| procedure TForm20.ArtenTableAfterScroll(DataSet: TDataSet); begin Panel1.Caption:=inttostr(ArtenTable.RecNo); end; |
MfG
Tabakbrummel
|
|
noidic
      
Beiträge: 851
Win 2000 Win XP Vista
D7 Ent, SharpDevelop 2.2
|
Verfasst: Di 08.11.05 14:13
Welche Datenbankkomponenten benutzt du denn? Bei BDE z.B. gibts mit RecNo glaub ich Probleme...
_________________ Bravery calls my name in the sound of the wind in the night...
|
|
Tabakbrummel 
      
Beiträge: 124
win 7
Turbo Delphi, VS 20010 Express
|
Verfasst: Di 08.11.05 14:18
Hi noidic
Ich benutzte die BDE mit TTable und TDataSource mit einer Paradoxtabelle.
MfG
Tabakbrummel
|
|
Robert.Wachtel
      
Beiträge: 895
Erhaltene Danke: 7
Windows 7 Ultimate x64
D5 Ent, D7 Arch, RAD Studio 2010 Pro, VS 2008
|
Verfasst: Di 08.11.05 15:00
noidic hat folgendes geschrieben: | [...] Bei BDE z.B. gibts mit RecNo glaub ich Probleme... |
Quelle?
|
|
Robert.Wachtel
      
Beiträge: 895
Erhaltene Danke: 7
Windows 7 Ultimate x64
D5 Ent, D7 Arch, RAD Studio 2010 Pro, VS 2008
|
Verfasst: Di 08.11.05 15:04
Tabakbrummel hat folgendes geschrieben: | [...] Wenn ich eine neue Zeile im DBGrid öffne erscheint im Panel immer -1. [...] |
Ganz unabhängig davon, dass man von RecNo spätestens bei "richtigen"[TM] Datenbanken Abstand nehmen sollte, kann ein neuer Datensatz beim Einfügen noch gar keine Datensatznummer besitzen - er befindet sich ja noch gar nicht in der Tabelle.
|
|
Tabakbrummel 
      
Beiträge: 124
win 7
Turbo Delphi, VS 20010 Express
|
Verfasst: Di 08.11.05 15:09
Hi
Ich möchte das da wenigstens keine -1 im Panel steht, ob man es abfangen kann?
MfG
Tabakbrummel
|
|
Robert.Wachtel
      
Beiträge: 895
Erhaltene Danke: 7
Windows 7 Ultimate x64
D5 Ent, D7 Arch, RAD Studio 2010 Pro, VS 2008
|
Verfasst: Di 08.11.05 15:37
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| procedure TfrmGibDenDingernEinenVernuenftigenNamen.ArtenTableAfterScroll(DataSet: TDataSet); begin if (ArtenTable.RecNo > 0) then pnlRecNo.Caption := IntToStr(ArtenTable.RecNo) else pnlRecNo.Caption := ''; |
|
|
Udontknow
      
Beiträge: 2596
Win7
D2006 WIN32, .NET (C#)
|
Verfasst: Di 08.11.05 15:39
Hallo!
Wenn ich mich recht erinnere, reichte ein Aufruf von Last und anschliessend wieder First, um auf den RecordCount dann korrekt zugreifen zu können.
Cu,
Udontknow
Zuletzt bearbeitet von Udontknow am Di 08.11.05 17:13, insgesamt 1-mal bearbeitet
|
|
noidic
      
Beiträge: 851
Win 2000 Win XP Vista
D7 Ent, SharpDevelop 2.2
|
Verfasst: Di 08.11.05 15:43
@Robert.Wachtel:
Quelle ist das DF, da bin ich über den ein oder anderen Post mit dieser Aussage gestolpert. ( Deswegen ja kein 'ist so' sondern ein 'glaub ich')
_________________ Bravery calls my name in the sound of the wind in the night...
|
|
Robert.Wachtel
      
Beiträge: 895
Erhaltene Danke: 7
Windows 7 Ultimate x64
D5 Ent, D7 Arch, RAD Studio 2010 Pro, VS 2008
|
Verfasst: Di 08.11.05 15:46
Wenn ich im DF nach der Kombination bde recno probleme suche, finde ich genau einen Thread - diesen...
|
|
Tabakbrummel 
      
Beiträge: 124
win 7
Turbo Delphi, VS 20010 Express
|
Verfasst: Di 08.11.05 15:58
Hallo Robert
Vielen dank für deine schnelle Anwort.
MfG
Tabakbrummel
|
|
noidic
      
Beiträge: 851
Win 2000 Win XP Vista
D7 Ent, SharpDevelop 2.2
|
Verfasst: Di 08.11.05 17:07
@Robert: Lass den Suchbegriff Probleme weg, dann wirst du fündig.
_________________ Bravery calls my name in the sound of the wind in the night...
|
|
Robert.Wachtel
      
Beiträge: 895
Erhaltene Danke: 7
Windows 7 Ultimate x64
D5 Ent, D7 Arch, RAD Studio 2010 Pro, VS 2008
|
Verfasst: Di 08.11.05 17:15
noidic hat folgendes geschrieben: | @Robert: Lass den Suchbegriff Probleme weg, dann wirst du fündig. |
Selbst dann finde ich nur einen Thread, der exakt das Gegenteil von Deiner Aussage beinhaltet.
|
|
noidic
      
Beiträge: 851
Win 2000 Win XP Vista
D7 Ent, SharpDevelop 2.2
|
Verfasst: Di 08.11.05 17:32
Es gibt da einen auch noch aktuellen Thread bezüglich MySQL und gesperrte Datensätze ( keine ahnung, wie ich hier nen Thread verlinken kann ) in dem Stefan.Buchholtz schrieb, dass RecNo bei der BDE außer auf Paradox u.ä. nicht funktioniert.
_________________ Bravery calls my name in the sound of the wind in the night...
|
|
Robert.Wachtel
      
Beiträge: 895
Erhaltene Danke: 7
Windows 7 Ultimate x64
D5 Ent, D7 Arch, RAD Studio 2010 Pro, VS 2008
|
Verfasst: Di 08.11.05 17:40
Er schreibt in dem Thread:
Zitat: | Zitat: | mir ist aufgefallen, das die Funktion t_journal.recno mir immer den Wert -1 gibt. Ist das normal ? |
Das ist bei SQL-Datenbanken normal. RecNo funktioniert bei der BDE nur bei lokalen Tabellen (Paradox, DBase). |
Du schriebst hingegen
Zitat: | Bei BDE z.B. gibts mit RecNo glaub ich Probleme... |
Das ist nunmal so nicht korrekt und deswegen bat ich Dich um eine Quellenangabe.
Genau genommen gibt es halt einige Kombinationen von Datenzugriffskomponenten und Datenbanken (z.B. BDE und Paradox oder dBase, aber auch DBIsam), bei denen RecNo einen aussagekräftigen Wert liefert. Bei den allermeisten anderen Kombinationen aber liefert RecNo im besten Fall einen nicht weiter zu gebrauchenden Wert zurück. Ergo sollte man sich den Gebrauch von RecNo eigentlich gar nicht erst angewöhnen.
|
|
noidic
      
Beiträge: 851
Win 2000 Win XP Vista
D7 Ent, SharpDevelop 2.2
|
Verfasst: Di 08.11.05 17:43
Ich finde meine Aussage dahingehend schon richtig. Schließlich gibt es da ja wohl Probleme, nicht im Zusammenhang mit allen Datenbanksysteme, aber das hab ich ja auch nicht behauptet.
Naja, alles weitere sind wohl Spitzfindigkeiten und haben eh nix mehr mit dem Thema zu tun.
Ich stimme jedenfalls zu, RecNo sollte man möglichst vermeiden.
_________________ Bravery calls my name in the sound of the wind in the night...
|
|
Robert.Wachtel
      
Beiträge: 895
Erhaltene Danke: 7
Windows 7 Ultimate x64
D5 Ent, D7 Arch, RAD Studio 2010 Pro, VS 2008
|
Verfasst: Di 08.11.05 17:53
noidic hat folgendes geschrieben: | Ich finde meine Aussage dahingehend schon richtig. Schließlich gibt es da ja wohl Probleme, nicht im Zusammenhang mit allen Datenbanksysteme, aber das hab ich ja auch nicht behauptet. |
Sorry  - ich dachte nur, es gäbe grundsätzliche Probleme mit der BDE (die man meiner Meinung nach aber auch in die Mülltonne treten sollte  ) und RecNo.
Zitat: | Ich stimme jedenfalls zu, RecNo sollte man möglichst vermeiden. |
Na, da sind wir uns ja einig... 
|
|
noidic
      
Beiträge: 851
Win 2000 Win XP Vista
D7 Ent, SharpDevelop 2.2
|
Verfasst: Di 08.11.05 18:00
Noch eine Zustimmung.. bin froh, dass wir hier Oracle und damit die DOA-Komponenten nutzen können...
_________________ Bravery calls my name in the sound of the wind in the night...
|
|