AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Exception bei Locate
Thema durchsuchen
Ansicht
Themen-Optionen

Exception bei Locate

Ein Thema von Moony · begonnen am 27. Jan 2009 · letzter Beitrag vom 29. Jan 2009
Antwort Antwort
Seite 1 von 2  1 2      
Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#1

Exception bei Locate

  Alt 27. Jan 2009, 16:00
Datenbank: Access • Zugriff über: TADOConnection
Hallo zusammen,

habe versucht bei mir eine lokalisierung eines Datensatzes durchzuführen, was normalerweise kein Problem ist, aber irgendie wehrt sich meine Anwendung dagegen.
  • Meine Tabelle ist geöffnet und in mein Grid geladen.
  • Das Grid ist auf ReadOnly = true gesetzt.
  • Die Spaltennamen sind unterschiedlich zu den tatsächlichen Spaltennamen in der Tabelle, was kein Problem ist, weil ich den richtigen Namen ermittel

Nun zu der eigentlichen Routine:
Beim Ereignis OnKeyPress vom TDBGrid reagiere ich auf gültige Zeichen. Dort ermittle ich den richtigen Spaltennamen und rufe dann Locate auf mit meiner Spalte als Key, meinen Character als Value und beide Optionen ([loCaseInsensitive, loPartialKey]) gesetzt.

Hier kommt nu eine Exception dass die Argumente vom falschen Typ sind, außerhalb des Gültigkeitsbereiches liegen oder nicht miteinander vereinbar sind.

Was läuft da falsch?

Gruß, Moony
Ich weiß, daß ich nichts weiß! Sokrates
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#2

Re: Exception bei Locate

  Alt 27. Jan 2009, 16:08
Hallo,

zeig' uns bitte mal die entsprechende Routine, so ist das doch etwas zu abstrakt.
  Mit Zitat antworten Zitat
Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Exception bei Locate

  Alt 28. Jan 2009, 07:21
Delphi-Quellcode:
  if TB1.Active then
  begin
    if (Key in ['a'..'z', 'A'..'Z']) then
      if TB1.FieldList.IndexOf(SelectedCol) <> -1 then // SelectCol wird gesetzt beim TitleClick
   TB1.Locate(SelectedCol, Key, [loCaseInsensitive, loPartialKey]);
  end;
Ich weiß, daß ich nichts weiß! Sokrates
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Exception bei Locate

  Alt 28. Jan 2009, 08:00
Hallo,

Breakpoint auf die Locate-Zeile und nachschauen,
was in SelectedCol steht.

Falls dort alles OK ist,
setz mal vorher DataSource des DBGrids auf NIL
und weise es nachher wieder zu.


Heiko
Heiko
  Mit Zitat antworten Zitat
Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Exception bei Locate

  Alt 28. Jan 2009, 08:08
SelectCol ist vollkommen in Ordnung und das setzen des DataSource bringt nichts. Immer noch die gleiche Meldung.
Ich weiß, daß ich nichts weiß! Sokrates
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#6

Re: Exception bei Locate

  Alt 28. Jan 2009, 08:41
Hallo,

mach' in der Locate-Zeile mal aus dem Key einen String, weiß nicht, ob Char als Variant übergeben werden kann.
  Mit Zitat antworten Zitat
Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#7

Re: Exception bei Locate

  Alt 28. Jan 2009, 08:44
Immer noch die gleiche Meldung.
Ich weiß, daß ich nichts weiß! Sokrates
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#8

Re: Exception bei Locate

  Alt 28. Jan 2009, 09:13
Hallo,

dann versuch' es zuerst einmal mit einer "festen" Abfrage:

TB1.Locate('existierendenSpaltenNamen', 'A', [loCaseInsensitive, loPartialKey]); Um herauszubekommen, was denn da eigentlich falsch ist/sein soll.
Und dann mal die einzelnen Kombinationen ausprobieren.
Variiere bitte auch mal die Kombinationen von [loCaseInsensitive, loPartialKey].
Ich möchte nicht ausschließen, dass Kombinationen, die aus Delphisicht korrekt sind, von einzelnen Datenbanken nicht verarbeitet werden können.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: Exception bei Locate

  Alt 28. Jan 2009, 09:16
Hallo,

und die Exception kommt ganz sicher genau bei "diesem" Locate.
Gehst du auch tatsächlich mit F8 weiter und bekommst die Exception ?

Nimm mal das temporär raus partial key.
Welche DB ?


Heiko
Heiko
  Mit Zitat antworten Zitat
Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#10

Re: Exception bei Locate

  Alt 28. Jan 2009, 09:30
Also...

@hoika: ja, ich gehe mit F8 weiter und genau in dieser locate zeile kommt die exception.

@nahpets: weder die statischen Werte noch unterschiedliche Kombinationen führen zu einem zufriedenstellenden Ergebnis.
Ich weiß, daß ich nichts weiß! Sokrates
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 22:55 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