AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Such Funktion für eine dB

Ein Thema von floppybe · begonnen am 20. Mär 2014 · letzter Beitrag vom 22. Mär 2014
Antwort Antwort
Seite 2 von 2     12   
Perlsau
(Gast)

n/a Beiträge
 
#1

AW: Such Funktion für eine dB

  Alt 20. Mär 2014, 13:15
Ich habe einfach beim Button diesen Befehl hinterlegt, dass er ausgeführt würde beim Click.
Schon klar, aber die Ereignisbehandlung des Buttons ist keine Function, sondern eine Procedure. Was hast du denn erwartet, daß mit dem Befehl (den ich nicht kenne) passieren soll?

Ich verwende eine TdbDatabase, TdbTable und ein DataSource für die Anbindung an das DBGrid und die verschiedenen DBEdit Felder.
Auch das ist Standard, liefert aber keinerlei Information darüber, wonach du suchen möchtest, denn danach würde sich die zu implementierende Suchmethode richten müssen.

Daten Erstellen in der Datenbank Funktioert auch Löschen und Aktualisieren.

Da aber die Datenbank mit dem Wachsen der Daten unübersichtlich wird würde ich gerne eine Such Funktion einbinden, welche mir eintweder zum Datensatz Springt oder lieber die Datensätze Filter welche diese Parameter aufweisen die ich suche.
Aha, da haben wir endlich einen Hinweis: "zum Datensatz springt". Das heißt, du möchtest aus einer bestimmten Tabelle (keine Ahnung, wieviele du hast) einen ganz bestimmten Datensatz "anspringen", was man auch lokalisieren nennt und daher, welche Überraschung, die Locate-Methode des jeweiligen Datasets zum Ziel führt. Schau dir die Parameter von Locate genau an, damit du z.B. auch Teilstrings findest und nicht nur einen vollständigen korrekten String.

Daneben existiert noch das Filter-Property, das in Zusammenhang mit dem Filtered-Property eine Datenmenge nach einem oder mehreren Feldern filtern kann. Wie das funktioniert, steht ebenfalls sehr gut in der Online-Hilfe beschrieben.

Zuletzt sei noch die Where-Klauses beim Select-Befehl (SQL) erwähnt, die in jeden guten SQL-Handbuch (wovon sich etliche im Freien Internet tummeln) erkärt wird.

Ich hoffe ich habe Deine Frage richtig verstanden und konnte Sie auch korrekt wiedergeben.
Knapp vorbei ist auch daneben
  Mit Zitat antworten Zitat
floppybe

Registriert seit: 24. Dez 2008
Ort: Belp
65 Beiträge
 
Delphi XE5 Architect
 
#2

AW: Such Funktion für eine dB

  Alt 21. Mär 2014, 03:00
Hallo Perlau,

das mit dem Suchen habe ich nun hin bekommen, ich habe diesen Lösungs Ansatz genommen, der klappt auch so weit so Gut.

Delphi-Quellcode:
TdbTable1.First;
  while not TdbTable1.Eof do begin
    if TdbTable1.FieldByName('Software').AsString=Edit2.Text then
      break
    else TdbTable1.Next;
end;
Ich habe nun auch gesehen dass es eine "table.Filter" gibt. ich vermute mal, dass dieser zur Anwendung kommt wenn mann Filtern will, wie der Name schon sagt.
Nun kann ich es leider nicht adaptieren mit dem Delphi Befehl dass er mir Filtert.

Kennst Du eventuell einen Lösungs Ansatz ?

Nur wenn es Dir nicht zu blöd ist mir etwas zu Helfen.

Mein Problem ist aber dass ICH nie Englisch gelehrnt habe, ich kann kein Englisch Lesen, nur ein paar Brocken um mich zu Unterhalten aber Lektüre geht nicht.
Die meisten TUT's die ich gefunden habe sind in Englisch, und das verstehe ich beim besten Willen nicht mehr.

Also komme ich wieder darauf zurück, dass ich halt in einem Forum Frage. Nicht weil ich zu faul bin, sondern weil ich die Thematik dann nicht verstehe.


Gruss

Chris


Ich habe einfach beim Button diesen Befehl hinterlegt, dass er ausgeführt würde beim Click.
Schon klar, aber die Ereignisbehandlung des Buttons ist keine Function, sondern eine Procedure. Was hast du denn erwartet, daß mit dem Befehl (den ich nicht kenne) passieren soll?



Da aber die Datenbank mit dem Wachsen der Daten unübersichtlich wird würde ich gerne eine Such Funktion einbinden, welche mir eintweder zum Datensatz Springt oder lieber die Datensätze Filter welche diese Parameter aufweisen die ich suche.
Aha, da haben wir endlich einen Hinweis: "zum Datensatz springt". Das heißt, du möchtest aus einer bestimmten Tabelle (keine Ahnung, wieviele du hast) einen ganz bestimmten Datensatz "anspringen", was man auch lokalisieren nennt und daher, welche Überraschung, die Locate-Methode des jeweiligen Datasets zum Ziel führt. Schau dir die Parameter von Locate genau an, damit du z.B. auch Teilstrings findest und nicht nur einen vollständigen korrekten String.

Daneben existiert noch das Filter-Property, das in Zusammenhang mit dem Filtered-Property eine Datenmenge nach einem oder mehreren Feldern filtern kann. Wie das funktioniert, steht ebenfalls sehr gut in der Online-Hilfe beschrieben.

Zuletzt sei noch die Where-Klauses beim Select-Befehl (SQL) erwähnt, die in jeden guten SQL-Handbuch (wovon sich etliche im Freien Internet tummeln) erkärt wird.

Ich hoffe ich habe Deine Frage richtig verstanden und konnte Sie auch korrekt wiedergeben.
Knapp vorbei ist auch daneben
Christian Schär
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#3

AW: Such Funktion für eine dB

  Alt 21. Mär 2014, 03:22
das mit dem Suchen habe ich nun hin bekommen, ich habe diesen Lösungs Ansatz genommen, der klappt auch so weit so Gut.
Wieso ignorierst du wertvolle Hinweise? Ich hatte dir doch bereits geschrieben, daß man hierfür die Locate-Methode verwendet. Natürlich steht es dir frei, auch um dreißig Ecken herumzuprogrammieren. Aber du fragst doch nach einfachen Lösungen, nicht wahr? Und ignorierst sie dann, wenn man sie dir liefert!

Ich habe nun auch gesehen dass es eine "table.Filter" gibt.
Darauf hatte ich dich oben ja bereits hingewiesen.

ich vermute mal, dass dieser zur Anwendung kommt wenn mann Filtern will, wie der Name schon sagt.
So ist es. Auch das hatte ich dir bereits übermittelt.

Nun kann ich es leider nicht adaptieren mit dem Delphi Befehl dass er mir Filtert.
Was steht denn in deiner Online-Hilfe zu Filter und Filtered?

Kennst Du eventuell einen Lösungs Ansatz ?
1. Du schaltest den Filter aus mit MyDataset.Filtered := False;
2. Du setzt den Filter, indem du dem Filter-Property einen String zuweist: MyDataset.Filter := 'Vorname = Hans';
3. Du schaltest den Filter wieder ein mit MyDataset.Filtered := True;

Nur wenn es Dir nicht zu blöd ist mir etwas zu Helfen.
Man kann sich schon ein wenig blöd vorkommen, wenn man einem Menschen öffentlich zugängliche Quellen quasi vorlesen muß.

Mein Problem ist aber dass ICH nie Englisch gelehrnt habe, ich kann kein Englisch Lesen, nur ein paar Brocken um mich zu Unterhalten aber Lektüre geht nicht. Die meisten TUT's die ich gefunden habe sind in Englisch, und das verstehe ich beim besten Willen nicht mehr.
Dann filterst du eben deine Google-Suchergebnisse nach der deutschen Sprache. Da gibt's noch immer genug zum Lernen. So hättest du z.B. auch die Tutorials im Delphi-Treff gefunden. Du erweckst jedoch den Eindruck, daß du nicht selber zu suchen bereit bist, sondern das lieber andere machen läßt. Und das verärgert die Leute.

Also komme ich wieder darauf zurück, dass ich halt in einem Forum Frage. Nicht weil ich zu faul bin, sondern weil ich die Thematik dann nicht verstehe.
Die Thematik ist auch schwer zu verstehen, wenn man Antworten und Hinweise ignoriert und stattdessen stur weiter nach einer Lösung fragt.

Das Studium einer Programmiersprache bzw. einer hochkomplexen modernen Entwicklungsumgebung erfordert Engagement, Ausdauer und Lernbereitschaft. Da erschließt sich nicht mal schnell was intuitiv, weil es um zu erlernende Regeln geht, die man nachlesen, sich aneignen, üben und dann anwenden muß, um weiterzukommen. Dabei ist es äußerst wichtig, nicht die Treppe hinaufzufallen, weil man's eilig hat und deshalb die vierte Stufe vor der zweiten nimmt. Mit anderen Worten: Wenn du Datenbank-Anwendungen entwickeln willst, mußt du dich erst einmal mit Datenbanken und deren Sprache, die da heißt SQL, auseinandersetzen. Ohne diese Kenntnisse wirst du nicht weiterkommen. Das kann dir auch keiner abnehmen.

Nachträgliche Bitte: Laß doch bitte dieses unnötige vollständige Zitieren am Ende deines Beitrags. Wenn du schon zitieren willst, dann ausschnittweise mit deiner Antwort direkt unter dem entsprechenden Zitat, auf das du antwortest.

Geändert von Perlsau (21. Mär 2014 um 03:25 Uhr) Grund: Nachträgliche Bitte
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   

 

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 19:59 Uhr.
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