AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Datensatz angenähert finden
Thema durchsuchen
Ansicht
Themen-Optionen

Datensatz angenähert finden

Ein Thema von Hansa · begonnen am 1. Apr 2004 · letzter Beitrag vom 2. Apr 2004
Antwort Antwort
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#1

Datensatz angenähert finden

  Alt 1. Apr 2004, 22:03
Hi,

es geht um folgendes: ich suche einen Datensatz, weiß aber nicht ob er Nr. 10000 hat oder 11000. Weiß ich die Nr. genau und gebe diese manuell ein, so finde ich sie direkt.

Wenn ich sie nun knapp verfehle, will ich vor und zurück blättern. Das geht ja auch mit next und prior, sofern ich alle Datensätze zur Verfügung habe. Für eine einzige Nr. ist das aber überflüssig. Wie machen das die anderen hier ? Soll ich einen Index auf das Suchfeld legen, ein zweites Datset oder wie ? Es geht um eine praktikable Lösung.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#2

Re: Datensatz angenähert finden

  Alt 1. Apr 2004, 23:14
vielleicht so:
SQL-Code:
select *
from Tabelle
where Nr 10000 between 11000
weis nicht ob der syntax stimmt , aber between sollte das sein was du suchst.

raik

bevor mir robert wieder um die ohren hautbeetween 10000 And 11000
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
Basilikum

Registriert seit: 9. Aug 2003
389 Beiträge
 
Delphi 7 Professional
 
#3

Re: Datensatz angenähert finden

  Alt 1. Apr 2004, 23:27
ein Lösungsansatz wäre:
SELECT * FROM tabelle ORDER BY ABS(<eingegebene Nummer> - Nr) ASC LIMIT 10 so erhält man die 10 der Nummer am nächsten kommenden Datensätze
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#4

Re: Datensatz angenähert finden

  Alt 2. Apr 2004, 00:05
hmmm, hmmm. Suche ich das ? Nee. 8) Habe ich mich verhauen und 10.000 ist in Wirklichkeit 99.999, was dann ? Intuitiv würde ich sagen : lege einen Index auf das Feld. Wer weiß also mehr ?
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#5

Re: Datensatz angenähert finden

  Alt 2. Apr 2004, 00:38
hallo hansa,

was willst du mit einem Index erreichen.

ein index dient dazu nur eindeutige werte in deiner db zu zulassen, oder die Suchgeschwindigkeit zu erhöhen.

gehen wir von deinem letzten beispiel aus findest du den fehler schneller, wenn du einen Index drauflegst

der index sollte dir hier auch nicht helfen.

raik
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#6

Re: Datensatz angenähert finden

  Alt 2. Apr 2004, 00:48
Zitat von kiar:
...ein index dient dazu nur eindeutige werte in deiner db zu zulassen, oder die Suchgeschwindigkeit zu erhöhen...der index sollte dir hier auch nicht helfen.
Und nun ? Wie weiter ? Mit next und prior dauert das Ganze merklich länger. Was ist zu tun ?
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#7

Re: Datensatz angenähert finden

  Alt 2. Apr 2004, 00:51
versuche doch deine Suche mit anderen Begriffen weiter einzuschränken.

wenn du wie immer nur stückchenweise mit deinem problem rausrückst,
kann dieser thread noch eine weile dauern

mfg

raik

edit: oder lege doch einen erweiterten index fest, der über mehrere Table felder geht;
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#8

Re: Datensatz angenähert finden

  Alt 2. Apr 2004, 01:01
Was ist denn mit dem 2. Dataset ? Das erste für direkte Eingabe und das zweite für alles über ein Feld (Spalte) ?
Gruß
Hansa
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#9

Re: Datensatz angenähert finden

  Alt 2. Apr 2004, 13:37
Ich habe jetzt ein DBgrid für Kontrollzwecke auf die Form gelegt. Der positioniert sich aber immer auf die erste Zeile. Wenn ich die Nr. direkt eingebe und das DBgrid bzw. Dataset wäre auf diesen Datensatz positioniert, tja das wärs dann wohl. Der Rest wäre Kleinkram.
Gruß
Hansa
  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 03:05 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