Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Fibplus Dataset / SQL ändern (https://www.delphipraxis.net/124258-fibplus-dataset-sql-aendern.html)

manfred_h 17. Nov 2008 17:41

Datenbank: Firbird • Version: 1.5 • Zugriff über: Fibplus

Fibplus Dataset / SQL ändern
 
Hallo zusammen

versuche momentan die SQL's eines Datasets zu ändern.

1. Es wird der SQL-String definiert

Delphi-Quellcode:
procedure TDM_hospital.dataset_sql_setup(Sender: TObject);
begin
  sql_string_default := 'SELECT * FROM HOSPITAL '+
                        'WHERE (STAT_DEL ='+'0'+') ORDER BY NAME';
end;
2. Der SQL-String soll wird "verwendet"

Delphi-Quellcode:
procedure TDM.dataset_setup(Sender: TObject);
begin
  DB_Gideons.Open;
  with Default do
  begin
    close;
    SelectSQL.Clear;
    SelectSQL.Add (sql_string_default);
    GenerateSQLs;
    Open;
  end;
end;
Leider lässt sich das Dataset nicht aktualisieren und behällt immer die "alten" Daten drin.

bin für Tipps dankbar.
Manfred

DeddyH 17. Nov 2008 17:42

Re: Fibplus Dataset / SQL ändern
 
Was ist denn Default?

Der.Kaktus 17. Nov 2008 17:43

Re: Fibplus Dataset / SQL ändern
 
Zitat:

Zitat von DeddyH
Was ist denn Default?

:shock: Brille gefaellig? *fg* :gruebel:

Der Jan 17. Nov 2008 17:44

Re: Fibplus Dataset / SQL ändern
 
Warum machst du das Ganze nicht über den SQL-Experten von FIBPlus, sprich über den Objektmanager?

DeddyH 17. Nov 2008 17:46

Re: Fibplus Dataset / SQL ändern
 
Zitat:

Zitat von Der.Kaktus
Brille gefaellig?

Wieso?
Zitat:

Delphi-Quellcode:
with Default do

Ich kenne FibPlus leider nicht, da muss die Frage doch mal gestattet sein.

manfred_h 17. Nov 2008 17:48

Re: Fibplus Dataset / SQL ändern
 
Zitat:

Zitat von DeddyH
Was ist denn Default?

Default ist in Diesem Fall folgender SQL Code drin.
Dieser soll mit dem obigen ausgewechslet werden.

inkl. select / insert / delete / refresh / update
Deshalb auch die Option > GenerateSQLs;

SQL-Code:
SELECT
    *
FROM
    HOTEL
WHERE
    (STAT_DEL CONTAINING '0')
ORDER BY
    NAME
Manfred

Hoffe die Brille passt .. :drunken:

Der.Kaktus 17. Nov 2008 17:48

Re: Fibplus Dataset / SQL ändern
 
Zitat:

Zitat von DeddyH
Zitat:

Zitat von Der.Kaktus
Brille gefaellig?

Wieso?
Zitat:

Delphi-Quellcode:
with Default do

Ich kenne FibPlus leider nicht, da muss die Frage doch mal gestattet sein.

Ich meinte dies -->
Delphi-Quellcode:
procedure TDM_hospital.dataset_sql_setup(Sender: TObject);
begin
  sql_string_default := 'SELECT * FROM HOSPITAL '+ 
                        'WHERE (STAT_DEL ='+'0'+') ORDER BY NAME';
end;
Sorry ..wollt Dir ja net uffn Schlips treten *g* Kleines Mis(t)verstaendnis :cheers:

[Edit]
Schlip(p)s Korrektur..lt. Deddy *g*
[/Edit]

manfred_h 17. Nov 2008 17:50

Re: Fibplus Dataset / SQL ändern
 
Zitat:

Zitat von Der Jan
Warum machst du das Ganze nicht über den SQL-Experten von FIBPlus, sprich über den Objektmanager?

In der Anwendung werden mehrer "Sparten" abgedeckt z.B. Hotels / Spitäler usw.
die überlegung geht dahin das ein Dataset verwendet wird und bei auswahl einer anderen Sparte
"einfach" die SQLs ausgetauscht werden.

Manfred

DeddyH 17. Nov 2008 17:55

Re: Fibplus Dataset / SQL ändern
 
@Kaki: ich fühle mich nicht auf den Schlips getreten (kennst mich doch :cheers:)
@Manfred: Dein Code ist ein wenig unübersichtlich, sry. Ist sql_string_default eine globale Variable? Und wird vor dem TDM.dataset_setup auch ein TDM_hospital.dataset_sql_setup durchgeführt? Schließlich handelt es sich um 2 unterschiedliche Methoden.

manfred_h 17. Nov 2008 18:05

Re: Fibplus Dataset / SQL ändern
 
Zitat:

Zitat von DeddyH
@Manfred: Dein Code ist ein wenig unübersichtlich, sry. Ist sql_string_default eine globale Variable? Und wird vor dem TDM.dataset_setup auch ein TDM_hospital.dataset_sql_setup durchgeführt? Schließlich handelt es sich um 2 unterschiedliche Methoden.

Hallo DeddyH

beim aufrufen der Form werden im FormShow bei Befehle aufgeruffen

Delphi-Quellcode:
procedure Tfrm_hotel.FormShow(Sender: TObject);
begin
  DM_hotel.dataset_sql_setup(Sender);
  DM.dataset_setup(Sender);
hier noch der complette Code.
>> Dein Code ist ein wenig unübersichtlich, sry.
Wenn Du mir sagen könntest wie ich dies übersichtlicher erstellen kann bitte teile mir dies mit.
Lerne gerne immer was dazu. :coder2:

Delphi-Quellcode:
procedure TDM_hospital.dataset_sql_setup(Sender: TObject);
begin
  sql_string_default := 'SELECT * FROM HOSPITAL '+
                        'WHERE (STAT_DEL ='+'0'+') ORDER BY NAME';
  sql_string_default_c := 'SELECT * FROM HOSPITAL_C WHERE ID_AREA = ?ID ORDER BY C_NAME';
  sql_string_default_d := 'SELECT * FROM HOSPITAL_D WHERE ID_AREA = ?ID ORDER BY D_DATE DESC';
  sql_string_default_dd := 'SELECT * FROM HOSPITAL_DD WHERE ID_D = ?ID ORDER BY BIBLE_TYPE';
  sql_string_default_s := 'SELECT * FROM HOSPITAL_S';
end;
Delphi-Quellcode:
procedure TDM.dataset_setup(Sender: TObject);
begin
  DB_Gideons.Open;
  with Default do
  begin
    close;
    SelectSQL.Clear;
    SelectSQL.Add (sql_string_default);
    GenerateSQLs;
    Open;
  end;
  with Default_D do
  begin
    close;
    SelectSQL.Clear;
    SelectSQL.Add (sql_string_default_d);
    GenerateSQLs;
    Open;
  end;
  with Default_DD do
  begin
    close;
    SelectSQL.Clear;
    SelectSQL.Add (sql_string_default_dd);
    GenerateSQLs;
    Open;
  end;
  with Default_C do
  begin
    close;
    SelectSQL.Clear;
    SelectSQL.Add (sql_string_default_c);
    GenerateSQLs;
    Open;
  end;
  with Default_S do
  begin
    close;
    SelectSQL.Clear;
    SelectSQL.Add (sql_string_default_s);
    GenerateSQLs;
    Open;
  end;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:31 Uhr.
Seite 1 von 2  1 2      

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