Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Datenbank (https://www.delphipraxis.net/137177-datenbank.html)

tomes-one 16. Jul 2009 15:59

Re: Datenbank
 
ich weis auch nicht weiter...so ein sch...

haentschman 16. Jul 2009 17:16

Re: Datenbank
 
Zitat:

ich möchte einen INSERT aus einer DBF-Datei in eine Firebird Datenbank machen.
versuch mal das:
- CachedUpdates = False
- Query1 zum Lesen der Daten
- ZQuery2 zum Schreiben
- TABELLE_IN_FB FirebirdTabelle wo die Daten hin sollen, Die Felder ID,AKTSESSION,BEDIENER sollten vorhanden sein

Delphi-Quellcode:
procedure TForm2.Button2Click(Sender: TObject);
var
  ID,AKT_SES : integer;
begin
  ZConnection1.User:= 'SYSDBA';
  ZConnection1.Password:= 'masterkey';
  ZConnection1.Database:= Ordner_zur_Datenbank; // der lokale Ordner incl. Dateiname zur FB DB
  ZConnection1.HostName:= '';  // '' bei Embedded Hostname bei Server
  ZConnection1.Connect;
  ZQuery2.Connection := ZConnection1;
  Query1.SQL.Text:='SELECT * FROM DEPOT_C';
  Query1.Open;
   while not Query1.Eof do
   begin
     if Query1.FieldByName('ID').IsNull then
       begin
         ID := 0;
         AKT_SES := 0;
       end
         else
           begin
             ID := Query1.FieldValues['ID'];
             AKT_SES := Query1.FieldValues['AKTSESSION'];
           end;
      ZQuery2.SQL.Text:= 'insert into TABELLE_IN_FB (ID,AKTSESSION,BEDIENER) values (:ID,:AKTSESSION,:BEDIENER);
      ZQuery2.ParamByName['ID']:= ID + 1;
      ZQuery2.ParamByName['AKTSESSION']:= AKT_SES + 1;
      ZQuery2.ParamByName['BEDIENER']:= Query1.FieldValues['BEDIENER'];
      ZQuery2.ExexSQL;
      Query1.Next;
    end;
  ZQuery2.Commit;
  ZConnection1.Disconnect;
end;
Edit: Fehlerkorrektur

PS: mit deiner Variante die ID zu generieren kann es vorkommen, daß gleiche ID´s vergeben werden. Besser die ID von FB erzeugen lassen über einen Generator. Aber das ist ein anderes Thema und nicht die Frage

TBx 16. Jul 2009 17:26

Re: Datenbank
 
@TE: also ein paar Dinge:
  • Pro Thread ist der Übersichtlichkeit halber nur ein Thema/eine Frage zulässig
  • Pushen läßt unser Kodex nicht zu!
  • häng am besten mal die komplette Unit samt dfm an, dann kann Dir leichter geholfen werden, im Moment müssen wir doch mehr die :glaskugel: nutzen.

Gruß

Thomas

tomes-one 17. Jul 2009 11:56

Re: Datenbank
 
@ TBx sorry wenn mir noch der ien oder andere kleine fehler unterläuft, aber ich bin erst seit kurzem hier und noch nicht so vertraut mit allen umgangsformen des forums...aber danke für die hinweise.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:37 Uhr.
Seite 2 von 2     12   

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