![]() |
Datenbank: ADS • Version: 9 • Zugriff über: Delphi
Stored Procedure | Invalid operand for operator <assigment>
Hallo,
ich habe im Data Architect eine Stored Procedure erstellt.
Code:
ICh poste nur die Parameter, da mit großer Warscheinlichkeit dort der Fehler liegt.
CREATE PROCEDURE sp_Rechnungsimport1
( Betrag DOUBLE ( 15,2 ), Typ INTEGER, Bemerkung MEMO, Nummer INTEGER, Datum DATE, Bearbeitungsstatus INTEGER OUTPUT ) BEGIN .... END Desweiteren habe ich ein Delphiprogramm geschrieben, welches die Eingabewerte (Edit.Text) an die Stored Procedure übergibt und ausführt.
Delphi-Quellcode:
Beim Öffnen der Query erhalte ich die Fehlermeldung <Invalide operand for operation>.
procedure TfrmRechnungsImport.tbtnUebernehmenClick(Sender: TObject);
begin ADSQuery1.SQL.Text:= 'EXECUTE PROCEDURE SP_RechnungsImport1(' + QuotedStr(edtDatum.Text) + ',' + edtRechnungsnr.Text + ',' + QuotedStr(memoBemerkung.Text) + ',' + IntToStr(Integer(cxcbTyp.Properties.Items.Objects[cxcbTyp.ItemIndex])) + ',' + StringReplace(FloatToStr(edtBetrag.Value),',','.',[rfReplaceAll])+ ')'; AdsQuery1.Open; // --> hier knallts dann, ist auch logisch, nur weiß ich einfach nicht wieso?!? :o Übergebe ich irgendwelche Werte als falschen Datentyp oder falsche Reihenfolge... ?!? :X |
AW: Stored Procedure | Invalid operand for operator <assigment>
Warum verwendest du keine parametrisierte Abfragen?
|
AW: Stored Procedure | Invalid operand for operator <assigment>
weil ich es damit lösen soll!!! :-)
Hast du eine Idee, weil ich sitz schon ne ganze Weile da und bin am überlegen und testen... ich habe mal die Werte beim ausführen umgedreht, also ...
Code:
da erhalte ich ja die Fehlermeldung invalid operand for operator <assigment>
EXECUTE PROCEDURE SP_RechnungsImport1('01.01.2011',10005,'test',10,18)
Habe mal zum Test die Werte umgedreht, also ...
Code:
dann bekomm ich die Fehlermeldung invalid operand for operator <INVALID DATE>
EXECUTE PROCEDURE SP_RechnungsImport1(18,10,'test',10005,'01.01.2011')
aber was ist an dem Datum falsch? :o oder hab ich jetzte eine falsche Reihenfolge? |
AW: Stored Procedure | Invalid operand for operator <assigment>
Vielleicht wird kein deutsches Datumsformat erwartet.
|
AW: Stored Procedure | Invalid operand for operator <assigment>
mkinzler ..
dadran hab ich garnicht mehr gedacht.. hab zwar windowsdatum angekuckt, aber nicht datum im Data Architect.. da stand's auf dd-mm-yyyy ... naja ich glaub das war's wohl !!!! VIELEN VIELEN Dank! Falls es noch probleme geben sollte, meld ich mich ! :) |
AW: Stored Procedure | Invalid operand for operator <assigment>
Das ist genau eine Grund, warum man Parameter verwenden sollte.
|
AW: Stored Procedure | Invalid operand for operator <assigment>
Zitat:
Delphi-Quellcode:
ausführen und gut. Und mKinzler hat recht: Nimm bitte, bitte Parameter ... sonst knallt's eventuell beim nächsten Rechner wieder, weil dort ein anderes Format eingestellt ist und Du ganz hart das deutsche codierst.
ACE.ADSSetDateFormat(ShortDateFormat)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:07 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