![]() |
AW: Tabellenspalten von FreeTables in DataDictionary kopieren
Ja sehr geil hat mal wieder funktioniert!;)
danke danke |
AW: Tabellenspalten von FreeTables in DataDictionary kopieren
Liste der Anhänge anzeigen (Anzahl: 1)
Moin Moin Liebe Delphi Gemeinde
Bei meinem vorher ja schon genannten Projekt möchte ich nun den Quellpfad der Daten über eine selectdirectory() prozedur lösen. Hier mein Code:
Delphi-Quellcode:
(alle Variablen sind ordnungsgemäß deklariert, sieht man hier nur ned^^)
procedure TForm1.BtnQuellPfadClick(Sender: TObject); //Auswahl des Quell-Verzeichniss
begin SelectDirectory('Quellordner auswählen','C:\ag32ads\',QuellPfad); Edit1.Text := QuellPfad; //str := QuellPfad; end; procedure TForm1.Button1Click(Sender: TObject); begin AdsQuery1.SQL.Clear; sInsert := ' insert into test_olap (test_key) select ' + ' kbu_key from [ ' + Edit1.Text + ' \agf_kbu] '; AdsQuery1.SQL.Add(sInsert); AdsQuery1.ExecSQL; end; wenn ich den Pfad fest in das Select Statement einbau funktionierts, wenn ich ihm aber nur den Pfad in einem String übergebe den er oben ausgewählt hat rödelt er recht lang (15-20sec) und man meint es klappt und dann kommt folgender Fehler: Wäre super wenn mir jemand seine Idee mitteilen könnte |
AW: Tabellenspalten von FreeTables in DataDictionary kopieren
nimm mal das erste Leetrzeichen raus bei:
' \agf_kbu] ' |
AW: Tabellenspalten von FreeTables in DataDictionary kopieren
Das hat geklappt, vielen vielen Dank;)
|
AW: Tabellenspalten von FreeTables in DataDictionary kopieren
Hey ho
Ich habe in meiner QuellTabelle ein Feld "Buchubgsdatum" welches vom Typ Timestamp ist. Dieses Feld soll aber genauso in meine neue Tabelle eingefügt werden. Habe schon mit Variant, String, DateTime alles mögliche getestet, aber komme einfach ned auf den Grünenzweig. Hier der Code:
Delphi-Quellcode:
Und Fehlermeldung erhalten ich folgende:
begin
adsconnection1 := TAdsConnection.Create(nil); adsconnection1.AdsServerTypes := [stADS_REMOTE]; adsconnection1.ConnectPath := 'C:\OLAP\OLAP_DICTIONARY\OLAP_DICTIONARY.ADD'; adsconnection1.Username := 'Adssys'; qryOlap := TAQuery.Create(nil); qryOlap.AdsConnection := adsconnection1; qryFibu := TAQuery.Create(nil); qryFibu.AdsConnection := Connection; qryFibu.SQL.Add('select * from [C:\ag32ads\AFLDaten\K1\M13\01.01.2007-31.12.2007\agf_kbu]'); qryFibu.Open; qryFibu.First; while not qryFibu.Eof do begin buchungsdat_TS := qryFibu.FieldByName('KBU_BUCHUNGSDATUM').AsString; sInsert := 'insert into olap_fibu_daten (Buchungsdatum) values(' + buchungsdat_TS + ')'; qryOlap.SQL.Clear; qryOlap.SQL.Add(sInsert); qryOlap.ExecSQL; qryFibu.Next; end; qryFibu.Close(); FreeAndNil(qryFibu); end;
Code:
Erste Gelegenheit für Exception bei $754D9617. Exception-Klasse EADSDatabaseError mit Meldung 'Error 7200: AQE Error: State = 42000; NativeError = 2116; [iAnywhere Solutions][Advantage SQL Engine]Malformed number: 01.01 -- Location of error in the SQL statement is: 175 There was a problem parsing the value list in the INSERT INTO statement.'. Prozess OlapUI.exe (4608)
|
AW: Tabellenspalten von FreeTables in DataDictionary kopieren
Ich würde das Insert-Statement einmalig vor der Schleife setzen und vor allem Parameter verwenden. Und falls das Buchungsdatum kein alphanumerisches Feld sein sollte, kann man es doch gleich unbehandelt als Parameter weitergeben.
|
AW: Tabellenspalten von FreeTables in DataDictionary kopieren
Sry ich komm jetzt grad so garned drauf was du meinst. Parameter für die Pfade meinst du?
|
AW: Tabellenspalten von FreeTables in DataDictionary kopieren
Delphi-Quellcode:
...
qryFibu.Open; //SQL einmalig setzen qryOlap.SQL.Text := 'insert into olap_fibu_daten(Buchungsdatum) values(:buchdat)'; while not qryFibu.Eof do begin //in der Schleife nur Parameter neu belegen qryOlap.ParamByName('buchdat').Value := qryFibu.FieldByName('KBU_BUCHUNGSDATUM').Value; qryOlap.ExecSQL; qryFibu.Next; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:21 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 by Thomas Breitkreuz