Fehler bei .Add() eines TQuerys



  • Hallo Leute,
    ich versuche gerade ein ADO-Query mittels Query->SQL-Add(insertSQL) zu füllen. Der String "insertSQL" sieht wie folgt aus:

    AnsiString insertSQL = "insert into T_MATERIALDATEN (MATNR,MTART,MBRSH,WERKS,LGORT,DISPR_1,MAKTX,MEINS,MATKL,SPART,"
    						"EXTWG,EKGRP,BSTME,EKWSL,WEBAZ,EKBST,DISGR_1,DISMM_1,DISPO_1,BERID,DISLS,MINBE,MABST,PLIFZ"
    						"MTVFP,LGPBE,PRCTR,BKLAS,DISPR_2,DISMM_2,DISGR_2,DISPO_2,PICID) "
    						"values (:p01,:p02,:p03,:p04,:p05,:p06,:p07,:p08,:p09,:p10,"
    						":p11,:p12,:p13,:p14,:p15,:p16,:p17,:p18,:p19,:p20,:p21,:p22,:p23,:p24,:p25,:p26,:p27,"
    						":p28,:p29,:p30,:p31,:p32,:p33)";
    

    Wie man sieht, werden 33 Parameter an diesen String übergeben. Und nun mein Problem. Sobald ich mittels

    Query->SQL->Add(insertSQL)
    

    das Query fülle, bekomme ich die Fehlermeldung

    EOleException: Für diesen Vorgang ist nicht genügend Speicher verfügbar.
    

    Wo liegt da das Problem???

    Gruß Torsten



  • Ich würde versuchen den Fehler einzugrenzen. Erst mal nur alle Pflichspalten eintragen lassen und schauen was passiert. Oder erst 16 spalten befüllen wenn es nicht klappt mit 8 spalten probieren usw binär bist du feststellst bei welchen /bei wievielen Parameter er hängt.



  • Ich habe den Fehler gefunden 😃
    Und zwar liegt es daran, dass ich den String jeweils zur besseren Sichtbarkeit mittels " getrennt habe. Nun steht er in einer Zeile (sehr unübersichtlich) aber es funktioniert.

    Schönen Gruß
    Torsten



  • Komisch ist das aber schon... Ich kann den Fehler in meinem BCB6 auch nicht reproduzieren.



  • nein, der fehler lag daran dass du nach "PLIFZ" das komma vergessen hattest 🙄


Anmelden zum Antworten