AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Paradox First/Limit

Ein Thema von noisy_master · begonnen am 9. Jul 2014 · letzter Beitrag vom 10. Jul 2014
Antwort Antwort
Seite 1 von 2  1 2   
noisy_master

Registriert seit: 17. Jun 2009
Ort: Wolfenbüttel/Baddeckenstedt
255 Beiträge
 
Delphi XE5 Professional
 
#1

Paradox First/Limit

  Alt 9. Jul 2014, 11:13
Datenbank: Paradox • Version: 5 • Zugriff über: BDE
Hallo liebe Gemeinde,

da ist er wieder mal mit einer(hoffenlich einer der letzten meinerseits) Paradox Frage (der Weg zu Firebird ist geebnet und auch endlich beschritten).

Doch nun zur Frage: Werden bei einem select * from.. alle records eingelesen? Wenn ja: gibt es eine möglichkeit dies zu beschränken (First und Limit tut ja IMHO in LocalSQL nicht,oder)?

Danke für eure Antworten im voraus

Gruß
Dirk
Dirk
  Mit Zitat antworten Zitat
vagtler

Registriert seit: 9. Jul 2010
Ort: Köln
667 Beiträge
 
Delphi 2010 Professional
 
#2

AW: Paradox First/Limit

  Alt 9. Jul 2014, 11:17
Code:
SELECT * FROM WHERE <Bedingung>
  Mit Zitat antworten Zitat
noisy_master

Registriert seit: 17. Jun 2009
Ort: Wolfenbüttel/Baddeckenstedt
255 Beiträge
 
Delphi XE5 Professional
 
#3

AW: Paradox First/Limit

  Alt 9. Jul 2014, 13:10
Prinzipiell hast du recht, geht aber in meinem Fall nicht,weil es in keiner Tabelle keinen Wert gibt, auf den ich mich verlassen kann, weil:

<weiter aushol> Eigentlich geht es mir darum einzelne Tabellen dynamisch zu erweitern. das funktioniert auch recht gut. Nur muss ich dazu wissen, ob das Feld schon existiert(sonst gibt es ne excepetion) dazu mache ich ein select * from xxxx und dann ein try query.fieldbyname('gesuchtesFeld')...except addField. </weiter aushol>

Ich weiss, dass man auch über die TTable.Fielddefs die Felder abfragen kann, aber dazu muss ja IMHO die Tabelle geöffnet werden(und damit werden ja auch alle records geholt, oder) Und genau das wollte ich halt verhindern.

Damit müsste meine Frage eigentlich heissen: Wie kann ich an einer Paradox Tabelle feststellen, ob ein Feld existiert, ohne dass alle Records transferiert werden?!?

Gruß
Dirk
Dirk
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#4

AW: Paradox First/Limit

  Alt 9. Jul 2014, 13:15
Code:
.. where 1=2
oder sowas
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Paradox First/Limit

  Alt 9. Jul 2014, 13:16
Code:
select * from xxx where 1<>1
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
noisy_master

Registriert seit: 17. Jun 2009
Ort: Wolfenbüttel/Baddeckenstedt
255 Beiträge
 
Delphi XE5 Professional
 
#6

AW: Paradox First/Limit

  Alt 9. Jul 2014, 15:55
where 1=2?

Und das funktioniert? Na dann werde ich das mal testen. Danke für die Antworten!
Dirk
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.534 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Paradox First/Limit

  Alt 9. Jul 2014, 16:06
Sicher funktioniert das, es kommt eine leere Datenmenge zurück. Nur würde ich dann nicht mit einem Try-Except-Block arbeiten, sondern einfach überprüfen, ob die von FieldByName zurückgegebene TField-Instanz gültig (also Assigned) ist.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
noisy_master

Registriert seit: 17. Jun 2009
Ort: Wolfenbüttel/Baddeckenstedt
255 Beiträge
 
Delphi XE5 Professional
 
#8

AW: Paradox First/Limit

  Alt 9. Jul 2014, 16:24
...würde ich dann nicht mit einem Try-Except-Block arbeiten, sondern einfach überprüfen, ob die von FieldByName zurückgegebene TField-Instanz gültig...
warum? und wie ?
Dirk
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.534 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Paradox First/Limit

  Alt 9. Jul 2014, 16:25
Manche mögen das vielleicht anders sehen, aber ich finde, Exceptions sind nicht das beste Mittel zur Ablaufsteuerung.

[edit] Wie, hatte ich doch oben beschrieben:
Delphi-Quellcode:
var
  Field: TField;
begin
  ...
  Field := DeinDataset.FieldByName('KratzMichHinten');
  if not Assigned(Field) then
    addField;
[/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen

Geändert von DeddyH ( 9. Jul 2014 um 16:32 Uhr)
  Mit Zitat antworten Zitat
noisy_master

Registriert seit: 17. Jun 2009
Ort: Wolfenbüttel/Baddeckenstedt
255 Beiträge
 
Delphi XE5 Professional
 
#10

AW: Paradox First/Limit

  Alt 10. Jul 2014, 09:37
Hi DeddyH,

das mit dem where 1=2 funktioniert tatsächlich, aber wenn ich mitFieldByname auf ein Feld zugreife, das es nicht gibt gibt es eine Exception....
(zumindest delphi2006, in XE5 noch nicht getestet)
Dann muss ich wohl beim try..except bleiben ;-((

Dennoch DANKE an alle!
Dirk
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 16:57 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