AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL zugriff in einer Unit
Thema durchsuchen
Ansicht
Themen-Optionen

SQL zugriff in einer Unit

Ein Thema von jjep · begonnen am 24. Sep 2007 · letzter Beitrag vom 24. Sep 2007
Antwort Antwort
jjep

Registriert seit: 19. Jun 2007
Ort: Wettingen CH
78 Beiträge
 
#1

SQL zugriff in einer Unit

  Alt 24. Sep 2007, 07:52
Datenbank: ? • Version: ? • Zugriff über: SQL
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:
//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;
Danke schon im voraus

PS: Ich weiss selber nicht welche Datenbank ich benütze, ich erstelle meine Datenbanken durch SQL.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: SQL zugriff in einer Unit

  Alt 24. Sep 2007, 07:54
Übergeb doch einfach nil. Außerdem solltest Du nach dem Erzeugen einen try-finally-Block benutzen.
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
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.606 Beiträge
 
#3

Re: SQL zugriff in einer Unit

  Alt 24. Sep 2007, 07:56
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.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
hoika

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

Re: SQL zugriff in einer Unit

  Alt 24. Sep 2007, 08:19
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
Heiko
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: SQL zugriff in einer Unit

  Alt 24. Sep 2007, 09:20
[quote="jjep"]
Delphi-Quellcode:
//Query1.create(AOwner:TComponent);
Query1.create; //diese Zeile macht Probleme, da man Query1 einem TCompent zuweisen muss
...
Kein Wunder, denn es muss so aussehen:
Query1 := TADOQuery.Create (Nil); Falls Query1 eine TADOQuery ist.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
jjep

Registriert seit: 19. Jun 2007
Ort: Wettingen CH
78 Beiträge
 
#6

Re: SQL zugriff in einer Unit

  Alt 24. Sep 2007, 09:38
Ja logisch habe ich vergessen

danke vielmals für eure tipps war mir echt eine Hilfe
  Mit Zitat antworten Zitat
Antwort Antwort


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 11:59 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