![]() |
with Syntax korrekt ???
Ist eigendlich die folgende Syntax so korrekt:
Delphi-Quellcode:
Ich mein ich hab zwei "gleiche" Datenbanken im unterschiedlichen Format, einmal Access und einmal als Interbase...
if dbtyp = 0 then with ibqImage do
if dbtyp = 1 then with such_Query do begin Close; SQL.Text := 'SELECT * FROM tabelle' Open; end; Die Access bekomme ich über die BDE und Interbase (Firebird) über die IBX Kompos... Aber mal brauch ichs so und mal so... Wollte mir viele Programmzeilen ersparen und irgendwie find ich's auch eleganter ;-) Was meint ihr ist das hier korrekt ??? (compilieren tuts auch ;-) euer Andreas der CodeKnecht ;-) |
Re: with Syntax korrekt ???
Du wirst immer die Member des letzten with Blockes verwenden.
Also such_Query. Willst du sie zusammenfassen suche einen kleinsten gemeinsamen Nanner oder nehme Interfaces. ;) |
Re: with Syntax korrekt ???
wenn ich zusammenfasse per TDataSet so kann ich kein SQL mehr verwenden...
aber wie geht das denn mit den Interfaces :?: Tät mich grad brennend interessieren ?!?! :zwinker: Andreas |
Re: with Syntax korrekt ???
Hallo Andreas,
zusätzlich zum Hinweis von Robert noch folgendes. Der gemeinsame Vorfahr beider Queries ist TDataSet und der stellt alle Methoden und Eigenschaften zur Verfügung um mit fertigen Queries zu arbeiten. Das Aufsetzen einer Query mit SQL ist spezifisch. Dein Code tut nicht das, was du eigentlich willst, weil es keine conditional with blocks gibt.
Delphi-Quellcode:
Grüße vom marabu
var
ds: TDataSet; begin if dbtyp = 0 then ds := ibqImage else ds := such_query; ... ds.Close; if ds is TADOQuery then TADOQuery(ds).SQL.Text := sqlText else TIBQuery(ds).SQL.Text := sqlText; ds.Open; ... end; |
Klick und es ward "Licht"...
Klick und es ward "Licht"... Da legte doch gerade jemand einen Schalter in meinem Kopf rum... :nerd:
:dp: Da sieht der Source so richtig proefessionell aus... :cyclops: erfreue mich jetzt erst einmal dran und probiere es fleißig aus ;-) Vielleicht werde ich noch mal n richtiger Delphi Programmierer :coder: Danke euch beiden :hi: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:38 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