![]() |
Datenbank: ? • Version: ? • Zugriff über: SQL
SQL zugriff in einer Unit
Hallo zusammen
Ich möchte in einer blanken Unit ohne grafischer Oberfläche mittels eines Query auf eine Datenbank zugreifen. Dies heisst, dass ich die Query-Instanz manuell erzeugen muss... Für dass brauch ich aber einen TComponent Object als Parameter. Wo kann ich denn das TComponent Object erstellen?
Delphi-Quellcode:
Danke schon im voraus
//Query1.create(AOwner:TComponent);
Query1.create; //diese Zeile macht Probleme, da man Query1 einem TCompent zuweisen muss With Query1 Do begin close; SQL.clear; SQL.Add('SELECT "Mitarbeiter.dbf" Where Personalnr = '+ PersNr); Open; end; Query1.Fields[ArtNr+3].AsInteger := Query1.Fields[ArtNr+3].AsInteger + 1; Query1.Free; PS: Ich weiss selber nicht welche Datenbank ich benütze, ich erstelle meine Datenbanken durch SQL. |
Re: SQL zugriff in einer Unit
Übergeb doch einfach nil. Außerdem solltest Du nach dem Erzeugen einen try-finally-Block benutzen.
|
Re: SQL zugriff in einer Unit
Stichwort Datenmodul (Datei -> Neu -> Datenmodul).
Das Datenmodul bedient sich eigentlich wie ein Formular, ist aber keins: Du kannst Deine Datenbankkomponenten da einfach draufziehen - es ist aber im Prinzip nichts anderes als eine normale nicht-Visuelle-Klasse, die dann Deine DB-Komponenten beheimatet. |
Re: SQL zugriff in einer Unit
Hall,
sieht wie dBase aus ? manuell erzeugt var sDBPath: String; // das sollte irgendwo global passieren sDBPath:= 'c:\data'; // mal als Bsp. Query1:= TQuery.Create(NIL); try Query1.DataBaseName:= sDBPath; finally Query1.Free; end; [delphi] Ausserdem stimmt deine SQL-Abfrage nicht select * from Mitarbeiter where ... Un dzum Schluss würde ich statt Fields[] FieldByName benutzen, dass macht es einfacher, in der SQL-Abfrage mal die Reihenfolge der Felder zu ändern. Heiko |
Re: SQL zugriff in einer Unit
[quote="jjep"]
Delphi-Quellcode:
Kein Wunder, denn es muss so aussehen:
//Query1.create(AOwner:TComponent);
Query1.create; //diese Zeile macht Probleme, da man Query1 einem TCompent zuweisen muss ...
Delphi-Quellcode:
Falls Query1 eine TADOQuery ist.
Query1 := TADOQuery.Create (Nil);
|
Re: SQL zugriff in einer Unit
Ja logisch habe ich vergessen :wall:
danke vielmals für eure tipps war mir echt eine Hilfe |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:15 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