AGB  ·  Datenschutz  ·  Impressum  







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

TQuery variabel

Ein Thema von fl63 · begonnen am 15. Jan 2010 · letzter Beitrag vom 14. Mär 2010
Antwort Antwort
Seite 6 von 6   « Erste     456   
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#51

Re: TQuery variabel

  Alt 21. Jan 2010, 11:28
Hallo,

es gibt noch einen anderen Weg.

TDataBase.GetTablesNames

Die Tabellen würde ich dann in einer normale ListBox/ListView packen.


Heiko
Heiko
  Mit Zitat antworten Zitat
fl63

Registriert seit: 30. Mär 2008
124 Beiträge
 
#52

Re: TQuery variabel

  Alt 23. Jan 2010, 12:10
Zitat von hoika:
Hallo,

es gibt noch einen anderen Weg.

TDataBase.GetTablesNames

Die Tabellen würde ich dann in einer normale ListBox/ListView packen.


Heiko

Das war DER TIP !!

Anbei die Lösung:

Delphi-Quellcode:
procedure TForm1.AbfrageClick(Sender: TObject);
Var SQLString1,SQLString2: String;
begin
If Edit1.Text = 'then Edit1.Text := '..';
If Edit2.Text = 'then Edit2.Text := '..';
SQLString1:= StringReplace(Edit1.Text,'#','_',[rfReplaceAll]);
SQLString1:= StringReplace(SQLString1,'..','%',[rfReplaceAll]);
SQLString2:= StringReplace(Edit2.Text,'#','_',[rfReplaceAll]);
SQLString2:= StringReplace(SQLString2,'..','%',[rfReplaceAll]);
  with Query1 do
  begin
    Active:=False;
    SQL.Clear;
    SQL.Add('Select * from '+ ComboBox1.Text +' where Upper (feld001) Like Upper (:feld1.text) ');
    SQL.Add('And Upper (feld002) Like Upper (:feld2.text) ');
    ParamByName('feld1.text').asString := SQLString1;
    ParamByName('feld2.text').asString := SQLString2;
    Active:=True;
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Database1.GetTableNames(ComboBox1.Items,false);
end;
Vielen Dank an alle die mitgeholfen haben.
  Mit Zitat antworten Zitat
fl63

Registriert seit: 30. Mär 2008
124 Beiträge
 
#53

Re: TQuery variabel

  Alt 3. Mär 2010, 15:20
Hallo DPler

erneut eine Frage zum Thema TQuery variabel.

Delphi-Quellcode:
    SQL.Add('Select * from '+ ComboBox1.Text +' where Upper (feld001) Like Upper (:feld1.text) ');
    SQL.Add('And Upper (feld002) Like Upper (:feld2.text) ');
Das ist das bisherige Ergebnis. Jetzt ist die Frage wie bekomme ich (Feld001) variabel.
Andere Tabellen haben den FeldNamen zB. Name oder Adresse.
Solche Tabellen bekomme ich nicht mit obengenannter Abfrage abgefragt. Also muß ich den Feldnamen aus der jeweiligen Tabelle auslesen und als Variable statt (Feld001) angeben. Wie mache ich das.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#54

Re: TQuery variabel

  Alt 3. Mär 2010, 15:23
Tabellen ermitteln -> GetTableNames
Felder ermitteln -> GetFieldNames

Kann man drauf kommen, oder?
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
fl63

Registriert seit: 30. Mär 2008
124 Beiträge
 
#55

Re: TQuery variabel

  Alt 13. Mär 2010, 14:39
SQL.Add('Select * from '+ ComboBox1.Text +' where Upper (feld0.... dieses bezeichnet die abzufragende Tabelle.

Statusbar1.Panels[0].Text := IntToStr(ComboBox1.Text.RecordCount); ComboBox1.Text.RecordCount ist natürlich Unfug. Aber es verdeutlicht das Problem.
Ich habe es versucht mit Table1.Tablename := ComboBox1.text und Table1.Recordcount. Das ist alles fehlgeschlagen. Wie kann ich mir noch helfen?
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#56

Re: TQuery variabel

  Alt 13. Mär 2010, 21:10
Hallo,

also ich habe die Frage nicht begriffen ...
Am besten stellst du sie in einem eigenen Thread mal allgemeiner.


Heiko
Heiko
  Mit Zitat antworten Zitat
fl63

Registriert seit: 30. Mär 2008
124 Beiträge
 
#57

Re: TQuery variabel

  Alt 14. Mär 2010, 10:15
Im Quelltext (Beitrag 52 siehe oben) steht:
Delphi-Quellcode:
SQL.Add('Select * from '+ ComboBox1.Text +' where Upper (feld001) Like Upper (:feld1.text) ');
    SQL.Add('And Upper (feld002) Like Upper (:feld2.text) ');
wobei Combobox1.Text den Tabellennamen der abzufragenden Tabelle anzeigt.

Wie kann ich RecordCount-1 also den Die Gesamtzahl der Datensätze der Tabelle in einem eigenen StatusPanel anzeigen also ungefähr:
Statusbar1.Panels[0].Text := IntToStr(ComboBox1.Text.RecordCount-1); oder gibt es für diesen Zweck einen eigenen SQL Befehl?

Frank
  Mit Zitat antworten Zitat
fl63

Registriert seit: 30. Mär 2008
124 Beiträge
 
#58

Re: TQuery variabel

  Alt 14. Mär 2010, 14:26
Jetzt hab ich eine Lösung mit Count aus SQL Sprache

Delphi-Quellcode:
If Combobox1.Text = 'then Combobox1.Text := 'gesamt3';
  with Query1 do
  begin
    Active:=False;
    SQL.Clear;
    SQL.Add('Select * from '+ ComboBox1.Text +' where Upper (feld001) Like Upper (:feld1.text) ');
    SQL.Add('And Upper (feld002) Like Upper (:feld2.text) ');
    ParamByName('feld1.text').asString := SQLString1;
    ParamByName('feld2.text').asString := SQLString2;
    Active:=True;
  end;
StatusBar1.Panels[0].Text:=
IntToStr(Query1.SQL.Add('Select CountAll(feld001)from' + ComboBox1.text+' '));

end;
Das StatusbarPanel zeigt " 2 " statt 100000 Datensätze an. Woran liegt das?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#59

Re: TQuery variabel

  Alt 14. Mär 2010, 14:54
Zitat:
Delphi-Quellcode:
StatusBar1.Panels[0].Text:=
IntToStr(Query1.SQL.Add('Select CountAll(feld001)from' + ComboBox1.text+' '));

Was erwartest Du denn hier? Die Query ist aktiv, Du müsstest also entweder
- die Query schließen, SQL ändern, öffnen und Ergebnis auslesen oder
- eine 2. Query erzeugen, dieser die COUNT-Abfrage eintragen, öffnen und Ergebnis auslesen

Ich würde die 2. Methode bevorzugen. Btw: was ist CountAll, hab ich noch nie gehört?
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
fl63

Registriert seit: 30. Mär 2008
124 Beiträge
 
#60

Re: TQuery variabel

  Alt 14. Mär 2010, 15:08
Also ich werde die 2te Query erzeugen und entsprechend abfragen.
'CountAll = Count *' ?? irgendwo habe ich das im Netz gelesen.

Vielen Dank für die Antwort.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 6 von 6   « Erste     456   


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 10:37 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