![]() |
Datenbank: Paradox • Zugriff über: BDE
Suche (SQL) nach neuen Datensätzen funktioniert nicht
Hi!
Ich habe mir eine Paradox Datenbank angelegt und will nach eingetragenen Datensätzen suchen. Die Datensätze sind vorhanden, werden mir auch angezeigt, nur bei der SQL abfrage, gibt er mir immer nur die Möglichkeit nach den ersten 3 der insgesamt 7 Datensätze zu suchen (Diese 3 habe ich ganz zu beginn eingetragen). Könnte das eventuell an nicht korrekten IndexFiles liegen?! Wenn ja, wie behebe ich das und beuge ein weiteres Auftreten dieses Problems vor, wenn nein, jemand ne andere Idee, wie ich das Problem lösen kann?! schon mal besten Dank. Gruß Chrissy |
Re: Suche (SQL) nach neuen Datensätzen funktioniert nicht
Du solltest vielleicht näher beschreiben, wie die Daten und das SQL-Statement aussehen.
|
Re: Suche (SQL) nach neuen Datensätzen funktioniert nicht
Ok, tschuldige....
Die Daten Stehen in mehreren Tabellen, wobei ich eigentlich nur in einer Suche, wo ich einen Auto-Inc Schlüssel habe und Name und Vorname, sowie Adresse, Telefonnummer, etc. Mit einer SQL-Abfrage müchte ich nach Schlüssel (also einer Nummer) bzw. nach dem Namen, unterschieden in Name/Vorname oder Nur Name suchen. Hier mal meine SQL-Statements:
Delphi-Quellcode:
if (EdNummer.Text = '') then exit // Also, wenn nix zum Suchen da ist, kann man ja gleich Abbrechen
else begin if (TryStrToInt(EdNummer.Text, nummer)) then //Kann schlecht nach ner Nummer suchen, wenn jemand n Wort eintippt ;) begin nummer:=StrToInt(EdNummer.Text); with Daten.QSucheNummer do begin close; SQL.Clear; SQL.Add('SELECT L.Id, A.Anrede, L.Name, L.Vorname, L.Geburtsdatum, L.Strasse, {u.s.w.} FROM "'+pfad+'Daten\anrede.DB" A INNER JOIN "'+pfad+'Daten\lehrer.db" L ON (A.Id = L.Anrede) {USW. bis alle Tabellen drin sind} WEHERE L.Id = :PNummer'); ParamByName('PNummer').AsInteger = nummer; ExecSQL; Open; end; DBAnzeige.Visible := false; DBAnzeige.DataSource:=Daten.DSSucheNummer; DBAnzeige.Visible:=true; end else exit; end; Wie gesagt, die Abfrage Funktioniert bei den 1. 3 Datensätzen und bei den Restlichen bekomme ich ein leeres Fenster.... Aber mit den Richtigen Feldbezeichnungen, als wenn eben kein Datensatz mit der Nummer da wäre..... |
Re: Suche (SQL) nach neuen Datensätzen funktioniert nicht
hallo,
so mal überflogen
Delphi-Quellcode:
raik
ParamByName('PNummer').AsInteger = nummer;
// hier dein sql |
Re: Suche (SQL) nach neuen Datensätzen funktioniert nicht
Habs Ausprobiert, gibt ein Laufzeitfehler, und zwar: Parameter PNummer nicht gefunden.
Ich glaube das wars wohl doch eher nicht..... Das Problem ist ja nicht, dass der AQL befehl gar nicht funktioniert, sondern dass er nicht auf allen Datensätzen funktioniert. Aber dennoch danke für den Tipp |
Re: Suche (SQL) nach neuen Datensätzen funktioniert nicht
Zunächst erst mal ein Hinweis: Verwende möglichst BDE-Aliasnamen und keine Pfade.
Zitat:
|
Re: Suche (SQL) nach neuen Datensätzen funktioniert nicht
Also, ich habe eine Tabelle Anrede:
Schlüssel Id (Autoinc) Anrede (Text) Dann eine Tabelle Lehrer mit: Schlüssel Id (AutoInc) Fremdschlüssel Anrede (Integer) Name, Vorname, etc. (Text) Fremdschlüssel Ort (Integer) Dann ebenso eine Tabelle Ort, mit Schlüssel als AutoInc und Ort und Vorwahl als Textfeld. Angezeigt bekommen möchte ich die Person mit bestimmter schlüsselnummer oder bestimmten namen. Und zwar in einem Grid. Also, wenn ich einen Lehrer mit Id 1, Anrede 1 (also Herr), Name Test, Vorname Testus, ...... habe möchte ich, wenn ich nach Nummer 1 suche genau den Datensatz in dem Grid dargestellt bekommen. |
Re: Suche (SQL) nach neuen Datensätzen funktioniert nicht
In der Tabelle Lehrer sind 7 Datensätze mit Schlüssel 1 bis 7
wenn ich nach Datensatz 1 bis 3 Suche, bekomme ich meine Ergebnisse, so wies sein sollte, richtig Angezeigt,.... was mich vermuten lässt, dass der SQL Befehl nicht ganz falsch sein kann. Wenn ich nach Datensatz 4 bis 7 suche, seis nach Nummer oder nach Name, ich bekomme nichts angezeigt, außer die Struktur mit leeren spalten, als wenn der Datensatz nicht vorhanden wäre... Unter dem, dass ich mir alle anzeigen lasse, stehen diese in der Suche nicht gefundenen Datensätze aber drin. |
Re: Suche (SQL) nach neuen Datensätzen funktioniert nicht
Gibts denn auch in der Tabelle "Anrede" die Datensaätz mit Schlüssel 4,5,6,7... Sonst kannst du mit einen Inner Join nichts geliefert kriegen.
|
Re: Suche (SQL) nach neuen Datensätzen funktioniert nicht
nein, nur mit 1 und 2, aber wie gesagt, bei 3 funktioniert es ja auch noch.....
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:57 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 by Thomas Breitkreuz