Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi ibtable.Locate xy > 10 (https://www.delphipraxis.net/157428-ibtable-locate-xy-10-a.html)

JHDGE 12. Jan 2011 22:04

AW: ibtable.Locate xy > 10
 
Noch ne kleine Frage
Wie suche ich denn unscharf nach Strings

Delphi-Quellcode:
Select * from Adrtab where 'Adrname' like 'Mu*'
Das geht aber nicht

Delphi-Quellcode:
Select * from Adrtab where 'Adrname' starting with 'Mu*'
:thumb:

geht :dancer:

aber es gab doch bei SQL auch ein unscharfes Select ? :gruebel:

Es muss doch eine Liste der möglichen where syntax geben !

Gibt es irgend wo eine Hilfe der Firebird ibquery SQL Statements :gruebel:

Danke

P.s. bis auf das Problem mit der unscharfen Suche klappt es gut ...

Also bei Locate war es der Parameter loPartialKey

aber ich kenne ibtable ja schon nicht mehr :-D

OK einen Link habe ich gefunden !

Bei Google suchenFirebird SQL Reference Guide

Bei Google suchenfbrefguide_preview3.pdf

Bummi 12. Jan 2011 22:43

AW: ibtable.Locate xy > 10
 
ich kenne Firebird nicht aber die übliche SQL-Syntax wäre
Code:
where Feld like 'Mu%'
oder auch
Code:
where Feld like '%us%'

JHDGE 12. Jan 2011 22:44

AW: ibtable.Locate xy > 10
 
Danke schon mal das werde ich doch auch gleich mal testen

und gibt es bei where die üblichen

and, or, ...

Bummi 12. Jan 2011 22:58

AW: ibtable.Locate xy > 10
 
versuch macht klug ;-)

JHDGE 12. Jan 2011 23:02

AW: ibtable.Locate xy > 10
 
ich versuche schon ich mags nicht sagen wie lange

Delphi-Quellcode:
Select * from esdat where Upper(ESDDIAG) = upper('%Eintrag%')
geht nicht


Delphi-Quellcode:
Select * from esdat where Upper(ESDDIAG) = '%EINTRAG%'
geht


die Funktion Upper macht die % kaputt na sowas

ein Elend das probieren

mkinzler 13. Jan 2011 05:23

AW: ibtable.Locate xy > 10
 
Nein es fehlt nur das like
SQL-Code:
Select * from esdat where Upper(ESDDIAG) like upper('%Eintrag%');

hoika 13. Jan 2011 06:28

AW: ibtable.Locate xy > 10
 
Hallo,

ein bissel anders, aber

Stelle dir die Query einfach als mit Table.IndexName vorsortierte Tabelle vor,
bei dem Query.Open mit FindKey an den ersten gefundenen Eintrag gesprungen wurde
und in der im while schon die Abbruchbedingung drinsteht (erster nicht mehr gültiger Wert).
Ist also quasi ein per SetRange eingeschränkte Sicht auf die Tabelle.

Übrigens kann mann per BDE auch bei DBase/Paradox mit TQuery auf Tabellen zugreifen.


Heiko

mkinzler 13. Jan 2011 06:31

AW: ibtable.Locate xy > 10
 
Nur ist TQuery bei dBase/Paradox dann über die Tabellen implementiert und bei richtigen DBMS Tables auf Abfragen

JHDGE 13. Jan 2011 19:35

AW: ibtable.Locate xy > 10
 
igitt BDE oder paradox ne ne
sowas habe ich erst gar nicht angefangen

nativ auf Die DBF Dateien mit Codebase schnell unkompliziert keine Treiber eine DLL und eigene Objekte und Funktionen und alles ist gut...

ne Paradox das hatte ich mal ...

ne jetzt SQL ist schon gut würde ich sagen ...

Da mein Programm sehr Modular aufgebaut ist so konnte ich ziemlich schnell von ibtable auf ibquerry umsteigen ...

Aber der Beginn ist ein schei...

Danke schon mal aber es kommen bestimmt noch was an fragen ...

@hoika Danke ich möchte das ja auch vertehen was zu machen ohne es zu verstehen ist sehr gefährlich finde ich zumindest

@mkinzler ich meine ich hatte das Like drinnen sonst hätte das zweite doch nicht funktioniert oder ? Ich denke ich habe es nur falsch rüber kopiert..

mkinzler 13. Jan 2011 19:41

AW: ibtable.Locate xy > 10
 
Ich kann nur den Code beurteilen, den du hier eingestellt hast.
Wenn duu Firebird ab 2 einsetzt, würde ich zu einem expression index raten.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:35 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz