[Delphi]Hie een index maken van een database??

Pagina: 1
Acties:

  • Hu9o
  • Registratie: Mei 2001
  • Laatst online: 20:27

Hu9o

Schokkend

Topicstarter
M'n vraag staat hier boven al, ik wil zoeken naar een record met de inhoud blaat bijvoorbeeld. En deze kolom hoeft geen sleutel kolom te zijn.

Weet iemand hoe ik dit kan maken? Ik weet dat het met een index moet gebeuren, omdat ik het al een keer eerder heb gezien. Alleen heb ik de source niet meer.

Alvast bedankt.

>>>>>>>>>>>>>>>>>>>>>>>>>Vertel Microsoft over dit probleem <<<<<<<<<<<<<<<<<<<<<<<<<


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Wat voor database (server) gebruik je eigenlijk?

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • Hu9o
  • Registratie: Mei 2001
  • Laatst online: 20:27

Hu9o

Schokkend

Topicstarter
ik heb een lokale paradox 7 database gemaakt waar ik in wil gaan zoeken.

>>>>>>>>>>>>>>>>>>>>>>>>>Vertel Microsoft over dit probleem <<<<<<<<<<<<<<<<<<<<<<<<<


  • whoami
  • Registratie: December 2000
  • Laatst online: 15:53
Je wilt dus eigenlijk een bepaald record zoeken?

Met een TQuery component, waar je een SQL query inzet moet dat goed te doen zijn.

https://fgheysels.github.io/


Verwijderd

Wat wil je nou eigenlijk, een zoekfunctie in je delphi-programma of je database normaliseren of iets anders?

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 20:40

Creepy

Tactical Espionage Splatterer

Op woensdag 20 februari 2002 20:26 schreef Hu9o het volgende:
M'n vraag staat hier boven al, ik wil zoeken naar een record met de inhoud blaat bijvoorbeeld. En deze kolom hoeft geen sleutel kolom te zijn.

Weet iemand hoe ik dit kan maken? Ik weet dat het met een index moet gebeuren, omdat ik het al een keer eerder heb gezien. Alleen heb ik de source niet meer.

Alvast bedankt.
code:
1
select * from tabel where kolomnaam='blaat'

en dat uiteraard in een tquery.
code:
1
ttable.filter='kolom=''blaat''';

is ook nog een mogelijkheid

en als er een index op het veld staat
code:
1
2
3
4
5
6
ttable.editkey;
ttable.fieldbyname('kolom').asstring:='blaat';
if ttable.gotokey then
  // gevonden
else
   // niet gevonden

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • Hu9o
  • Registratie: Mei 2001
  • Laatst online: 20:27

Hu9o

Schokkend

Topicstarter
Op woensdag 20 februari 2002 21:05 schreef Creepy het volgende:

en als er een index op het veld staat
code:
1
2
3
4
5
6
ttable.editkey;
ttable.fieldbyname('kolom').asstring:='blaat';
if ttable.gotokey then
  // gevonden
else
   // niet gevonden
precies, deze wil ik gaan gebruiken. Maar dan moet er een index op staan. Kan je me ook vertelen hoe dit moet??

Ik weet wel dat er eerst een index gemaakt moet worden, die moet een naam krijgen en er moet verteld worden op welke velden er ge sorteerd moet worden.

MAAR HOE?


P.S. die query component is idd een andere optie, maar dan moet er elke keer opnieuw data worden opgevraagd uit de database. EN met de table component heb je de database in een keer in het geheugen zitten. Deze laatste wil ik gebruiken, maar toch bedankt.

>>>>>>>>>>>>>>>>>>>>>>>>>Vertel Microsoft over dit probleem <<<<<<<<<<<<<<<<<<<<<<<<<


  • Varienaja
  • Registratie: Februari 2001
  • Laatst online: 14-06-2025

Varienaja

Wie dit leest is gek.

Op donderdag 21 februari 2002 11:06 schreef Hu9o het volgende:
precies, deze wil ik gaan gebruiken. Maar dan moet er een index op staan. Kan je me ook vertelen hoe dit moet??
Joh :)
code:
1
2
3
4
5
6
7
var T:TTable;
begin
   T:=TTable.Create(nil);
   T.TableName:=...
   T.DatabaseName:=...
   T.AddIndex('Indexnaam','Veldnaam',[ixCaseInsensitive],'');
end;

Zoeken gaat dan als volgt:
code:
1
2
3
4
5
6
7
   T:=TTable.Create(nil);
   T.DatabaseName:=...
   T.TableName:=...
   T.IndexName:='Indexnaam';
   T.Active:=True;

   T.FindNearest('bladiebla');

In de help staan wel meer functies: GotoKey, FindKey, etc.

Siditamentis astuentis pactum.


  • Hu9o
  • Registratie: Mei 2001
  • Laatst online: 20:27

Hu9o

Schokkend

Topicstarter
:) bedankt dit komt weer een beetje bekend voor. Zo moet het wel lukken denk ik.

Iedereen bedankt!

>>>>>>>>>>>>>>>>>>>>>>>>>Vertel Microsoft over dit probleem <<<<<<<<<<<<<<<<<<<<<<<<<


  • whoami
  • Registratie: December 2000
  • Laatst online: 15:53
Op donderdag 21 februari 2002 11:06 schreef Hu9o het volgende:

P.S. die query component is idd een andere optie, maar dan moet er elke keer opnieuw data worden opgevraagd uit de database. EN met de table component heb je de database in een keer in het geheugen zitten. Deze laatste wil ik gebruiken, maar toch bedankt.
Waarom denk je dat in C/S systemen er geen gebruik gemaakt wordt van TTable componenten en wel van TQuery's? Omdat dat performanter is, een TTable component gaat alle data van de server naar uw geheugen gaan overbrengen en dat vergt nogal wat netwerk traffic. Terwijl je bij een TQuery enkel de nodige data gaat gaan ophalen. Ik zou er nog eens over nadenken.

https://fgheysels.github.io/


  • Hu9o
  • Registratie: Mei 2001
  • Laatst online: 20:27

Hu9o

Schokkend

Topicstarter
Op donderdag 21 februari 2002 12:12 schreef whoami het volgende:

[..]

Waarom denk je dat in C/S systemen er geen gebruik gemaakt wordt van TTable componenten en wel van TQuery's? Omdat dat performanter is, een TTable component gaat alle data van de server naar uw geheugen gaan overbrengen en dat vergt nogal wat netwerk traffic. Terwijl je bij een TQuery enkel de nodige data gaat gaan ophalen. Ik zou er nog eens over nadenken.
Klopt, maar ik ben geen C/S applicatie aan het maken. :P

>>>>>>>>>>>>>>>>>>>>>>>>>Vertel Microsoft over dit probleem <<<<<<<<<<<<<<<<<<<<<<<<<

Pagina: 1