Delphi-PRAXiS
Seite 2 von 5     12 34     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   ADOQuery SQL Parameter keine Übergabe (https://www.delphipraxis.net/158895-adoquery-sql-parameter-keine-uebergabe.html)

daredd 7. Mär 2011 12:10

AW: ADOQuery SQL Parameter keine Übergabe
 
Also, ich habe das mit dem 'products_id' hab ich gelöst. Hab in Access die Spalte als AutoWert definiert. Nun arbeitet das Query, aber ausser der products_id wird nichts in die Tabelle geschrieben.

Jumpy 7. Mär 2011 12:18

AW: ADOQuery SQL Parameter keine Übergabe
 
Ich nehme mal an, du hast auch das SQL-Statement angepasst und die products_ID rausgenommen?

Generell mal gefragt, wieso arbeitest du/man mit den Parametern? Mach man das so? Hätte man nicht einfach die Werte direkt beim Zusammenbaues des SQL-Statements da reinschreiben können?

daredd 7. Mär 2011 12:22

AW: ADOQuery SQL Parameter keine Übergabe
 
ja, die products_id ist aus dem sql raus:
Delphi-Quellcode:
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('INSERT INTO Warenbestand(external_id, permission_id, products_owner, products_ean, products_quantity, products_average_quantity,'
+'products_shippingtime, products_model, products_master_model, products_master_flag, products_option_template, products_option_list_template,'
+'products_sort, products_image, products_price, date_added, last_modified, date_available, products_weight, products_status, products_tax_class_id,'
+'product_template, product_list_template, manufacturers_id, products_ordered, products_transactions, products_fsk18, products_vpe, products_vpe_status,'
+'products_vpe_value, products_startpage, products_startpage_sort, products_average_rating, products_rating_count, products_digital,'
+'products_serials, categories, products_description_de, products_name_de, products_short_description_de, url_text_de, meta_title_de, meta_keywords_de,'
+'meta_description_de, products_description_en, products_name_en, products_short_description_en, url_text_en, meta_title_en, meta_keywords_en, meta_description_en)');
ADOQuery1.SQL.Add('VALUES(:external_id, :permission_id, :products_owner, :products_ean, :products_quantity, :products_average_quantity,'
+':products_shippingtime, :products_model, :products_master_model, :products_master_flag, :products_option_template, :products_option_list_template,'
+':products_sort, :products_image, :products_price, :date_added, :last_modified, :date_available, :products_weight, :products_status, :products_tax_class_id,'
+':product_template, :product_list_template, :manufacturers_id, :products_ordered, :products_transactions, :products_fsk18, :products_vpe, :products_vpe_status,'
+':products_vpe_value, :products_startpage, :products_startpage_sort, :products_average_rating, :products_rating_count, :products_digital,'
+':products_serials, :categories, :products_description_de, :products_name_de, :products_short_description_de, :url_text_de, :meta_title_de, :meta_keywords_de,'
+':meta_description_de, :products_description_en, :products_name_en, :products_short_description_en, :url_text_en, :meta_title_en, :meta_keywords_en, :meta_description_en)');
Keine ahnung, hab das so gelernt. Ich muss werte aus einer anderen Tabelle kopieren, die nicht identisch ist mit der Tabelle 'Warenbestand'.

daredd 7. Mär 2011 12:49

AW: ADOQuery SQL Parameter keine Übergabe
 
Hat keiner mehr eine Idee, warum die VALUES in die Tabelle nicht übergeben werden?
... ich probiere das ganze nun mit ADOTable zu lösen.

DeddyH 7. Mär 2011 13:03

AW: ADOQuery SQL Parameter keine Übergabe
 
Zum Kopieren von Daten könnte man sich auch einmal die INSERT INTO ... SELECT FROM-Syntax anschauen, das dürfte ggf. einfacher werden als dieses Monsterkonstrukt.

Sir Rufo 7. Mär 2011 13:15

AW: ADOQuery SQL Parameter keine Übergabe
 
Zitat:

Zitat von Jumpy (Beitrag 1086452)
Generell mal gefragt, wieso arbeitest du/man mit den Parametern? Mach man das so? Hätte man nicht einfach die Werte direkt beim Zusammenbaues des SQL-Statements da reinschreiben können?

:shock: Um Himmels willen nicht direkt reinbauen

Stichwort: SQL-Injection und Performance (um nur 2 zu nennen)

Ich vermute jetzt mal, dass die Verbindung der Parameter-Liste nicht so richtig passt.

Erzeuge auf der Form ein TADOQuery mit dem SQL-Statement und prüfe über den OI die Parameter.
Dann benutzt du genau diese Query in deiner Procedure, füllst die Parameter und lass die dann mal ausführen.

Und DeddyH hat auch recht, wenn alle Daten schon in der DB vorhanden sind, macht es keinen Sinn diese erst zum CLient zu holen und dann wieder zurück zur DB zu schicken. Das geht dann auch direkt in der DB

daredd 7. Mär 2011 13:17

AW: ADOQuery SQL Parameter keine Übergabe
 
schau ich mir mal an, ich probiers jetzt erstmal step_by_step... erstmal nur eine spalte in der Tabelle auffüllen und wenn das klappt, sehen wir weiter ;)

@Jumpy: danke für den tipp, probiere ich gleich danach aus!

DeddyH 7. Mär 2011 13:18

AW: ADOQuery SQL Parameter keine Übergabe
 
Probier das lieber nicht aus, siehe Sir Rufos Post.

daredd 7. Mär 2011 13:22

AW: ADOQuery SQL Parameter keine Übergabe
 
sorry ich meinte auch sirRufos ))

daredd 7. Mär 2011 13:28

AW: ADOQuery SQL Parameter keine Übergabe
 
Also das funktioniert schon mal:

Delphi-Quellcode:
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('INSERT INTO Warenbestand(external_id)');
ADOQuery1.SQL.Add('SELECT ARTIKELNUMMER FROM Tabelle2');
ADOQuery1.ExecSQL;
ABER VOLL LANGSAM! Ich habe 8000 Datensätze ))


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:18 Uhr.
Seite 2 von 5     12 34     Letzte »    

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