AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Locate von UIBDataSet funzt nicht
Thema durchsuchen
Ansicht
Themen-Optionen

Locate von UIBDataSet funzt nicht

Ein Thema von dor557 · begonnen am 13. Sep 2010 · letzter Beitrag vom 15. Sep 2010
Antwort Antwort
Benutzerbild von dor557
dor557

Registriert seit: 24. Okt 2004
Ort: Walldorf
197 Beiträge
 
Delphi 10.1 Berlin Starter
 
#1

Locate von UIBDataSet funzt nicht

  Alt 13. Sep 2010, 15:25
Datenbank: Firebird • Version: 2.1 • Zugriff über: UIB
Hallo zusammen.

Ich habe ein kleines Problem was mit irgend wie keinen sinn ergibt.

Ich habe Folgenden Code :

Delphi-Quellcode:
 
      // Kundenlist Aktualisieren
         Daten.KundenListe.Close;
         Daten.KundenListe.Open;
         if DSKunden.DataSet.Locate('ID',New_ID, [loPartialKey]) then
         begin
           DBGrid1.SelectedField := DSKunden.DataSet.FieldByName('ID');
           DBGrid1.SetFocus;
         end else ShowMessage('Feld ID mit wert "' + inttostr(NEW_ID) + '" Nicht gefunden.');
Die ID wird mit auch in dem DBgrid angezeigt. aber er findet den Eintrag nicht. KundenListe ist ein TJvUIBDataSet.

Kann es evtl. daran liegen das UIBDataSet diese art der suche nicht unterstützt ? oder muss ich da noch etwas angeben ?

gruss Sascha
Sascha Nickel
Man muss die Dinge nehmen wie sie kommen, man kann aber auch dafür sorgen das die dinge so kommen wie man sie nehmen möchte.

Geändert von dor557 (13. Sep 2010 um 16:07 Uhr) Grund: Titel Korrigiert
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Bin etwas konfuss....

  Alt 13. Sep 2010, 15:54
Ist das Feld vom Typ Integer?
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

AW: Bin etwas konfuss....

  Alt 13. Sep 2010, 16:00
Bitte gib deinem Beitrag einen aussagekräftigen Titel.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von dor557
dor557

Registriert seit: 24. Okt 2004
Ort: Walldorf
197 Beiträge
 
Delphi 10.1 Berlin Starter
 
#4

Locate mit UIB Komponenten

  Alt 13. Sep 2010, 16:06
Sorry. Habe das etwas vergessen mit dem Namen für den Titel.

Kann das im nachhinein nicht mehr ändern. dazu fehlen mir warscheinlich die Rechte

Also ja das ist ein Integer Wert ! aber er gibt mir keine Fehlermeldung das es der Falsche wert ist.
Sascha Nickel
Man muss die Dinge nehmen wie sie kommen, man kann aber auch dafür sorgen das die dinge so kommen wie man sie nehmen möchte.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#5

AW: Locate von UIBDataSet funzt nicht

  Alt 13. Sep 2010, 19:54
Zitat:
KundenListe ist ein TJvUIBDataSet
...war da nicht mal was, daß die UIB von den Jedis nicht so aktuell waren und eher die UIB Version aus dem SVN genommen werden sollte
Vieleicht ist da dieser "Bug" schon nicht mehr da.
  Mit Zitat antworten Zitat
Benutzerbild von dor557
dor557

Registriert seit: 24. Okt 2004
Ort: Walldorf
197 Beiträge
 
Delphi 10.1 Berlin Starter
 
#6

AW: Locate von UIBDataSet funzt nicht

  Alt 14. Sep 2010, 11:34
Der bug den die hatten ist das nur ein datensatz gelesen wurde.

Der ist aber in der version 2.1 behoben die habe ich.

Kann es evtl sein das ich in der Komponente noch etwas zusätzlich angeben muss wie index oder so ?? habe da nur die Felder importiert und fertig !

Oder müsste das auch so gehen ??

und wenn man auf das locate verzichten würde gibt es da noch eine andere möglichkeit ? wie z.b. einen nach dem anderen auswählen und dann bei dem richtigen stehen bleiben. aber das würde wiederum eine folge haben das der User den balken herbalaufen sieht oder ? Hat jemand ne idee ?

gruss Sascha
Sascha Nickel
Man muss die Dinge nehmen wie sie kommen, man kann aber auch dafür sorgen das die dinge so kommen wie man sie nehmen möchte.

Geändert von dor557 (14. Sep 2010 um 11:41 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von dor557
dor557

Registriert seit: 24. Okt 2004
Ort: Walldorf
197 Beiträge
 
Delphi 10.1 Berlin Starter
 
#7

AW: Locate von UIBDataSet funzt nicht

  Alt 15. Sep 2010, 08:54
So nun habe ich eben das Pferd von einer anderen seite bestiegen.

Ich bin nun hergegangen und habe, da offenbar keine andere Lösung zur verfügung stand, das DBGrid gelöscht und eine TListView genommen und die anzeige auf Report gestellt.

Dann entsprechend die Titel eingefügt und lese dann mit dieser funktion :

Delphi-Quellcode:
Procedure TKundenListeF.KundenListeAktualisieren;
var li : TListItem;
begin
 KundenlisteView.Items.Clear;
 KundenListeView.Items.BeginUpdate;
 Daten.KundenListe.Open;
 daten.Kundenliste.First;
  repeat
    li := KundenListeView.Items.Add;
    li.Caption := Daten.KundenListeID.AsString;
    Li.SubItems.Add(daten.KundenListeVorname.AsString);
    li.SubItems.Add(Daten.KundenListeNAME.AsString);
    li.SubItems.Add(Daten.KundenlisteStrasse.asstring);
    li.SubItems.Add(Daten.KundenlistePLZ.AsString);
    Li.SubItems.Add(Daten.KundenListeORT.AsString);
    Daten.KundenListe.Next;
  until Daten.KundenListe.Eof;
  Daten.Kundenliste.Close;
  KundenListeView.Items.EndUpdate;
end;
Die daten eben manuell ein. War zwar etwas mehr schreib arbeit aber dafür geht es.

und die Position in der Liste finde ich dann mit Hilfe von

Delphi-Quellcode:
       li := KundenListeView.FindCaption(0, inttostr(S_ID), false, True, False);
       if li <> nil then
       begin
         KundenListeView.Selected := li;
         KundenListeView.ItemFocused := Li;
         li.MakeVisible(True);
         KundenListeView.SetFocus;
       end;
wobei ich da wohl Wishmaster aus Diesem Beitrag danken muss. So kam ich auf die Idee

Mein Alter Herr ist der meinung das ich diese Technik nicht verwenden sollte aber der hat leicht reden. Der hat auch genug geld um sich die Enterprise version von Delphi zu holen wo etwas andere komponenten zur verfügung stehen

Ich habe nur die Turbo Version...

Aber auch damit geht nur eben etwas schwerer

Danke an alle die Mir versucht haben zu helfen und sich den Kopf zerbrochen haben.
Sascha Nickel
Man muss die Dinge nehmen wie sie kommen, man kann aber auch dafür sorgen das die dinge so kommen wie man sie nehmen möchte.
  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 00:30 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