![]() |
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.
|
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? |
AW: ADOQuery SQL Parameter keine Übergabe
ja, die products_id ist aus dem sql raus:
Delphi-Quellcode:
Keine ahnung, hab das so gelernt. Ich muss werte aus einer anderen Tabelle kopieren, die nicht identisch ist mit der Tabelle 'Warenbestand'.
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)'); |
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. |
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.
|
AW: ADOQuery SQL Parameter keine Übergabe
Zitat:
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 |
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! |
AW: ADOQuery SQL Parameter keine Übergabe
Probier das lieber nicht aus, siehe Sir Rufos Post.
|
AW: ADOQuery SQL Parameter keine Übergabe
sorry ich meinte auch sirRufos ))
|
AW: ADOQuery SQL Parameter keine Übergabe
Also das funktioniert schon mal:
Delphi-Quellcode:
ABER VOLL LANGSAM! Ich habe 8000 Datensätze ))
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('INSERT INTO Warenbestand(external_id)'); ADOQuery1.SQL.Add('SELECT ARTIKELNUMMER FROM Tabelle2'); ADOQuery1.ExecSQL; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:18 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