AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Stored Procedure | Invalid operand for operator <assigment>

Stored Procedure | Invalid operand for operator <assigment>

Ein Thema von Metallicwar · begonnen am 6. Jan 2011 · letzter Beitrag vom 7. Jan 2011
Antwort Antwort
Metallicwar

Registriert seit: 5. Feb 2010
Ort: Bad Kissingen
293 Beiträge
 
Delphi XE Architect
 
#1

Stored Procedure | Invalid operand for operator <assigment>

  Alt 6. Jan 2011, 20:40
Datenbank: ADS • Version: 9 • Zugriff über: Delphi
Hallo,
ich habe im Data Architect eine Stored Procedure erstellt.
Code:
CREATE PROCEDURE sp_Rechnungsimport1
   ( 
      Betrag DOUBLE ( 15,2 ),
      Typ INTEGER,
      Bemerkung MEMO,
      Nummer INTEGER,
      Datum DATE,
      Bearbeitungsstatus INTEGER OUTPUT
   )
BEGIN
....
END
ICh poste nur die Parameter, da mit großer Warscheinlichkeit dort der Fehler liegt.

Desweiteren habe ich ein Delphiprogramm geschrieben, welches die Eingabewerte (Edit.Text) an die Stored Procedure übergibt und ausführt.

Delphi-Quellcode:
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
Beim Öffnen der Query erhalte ich die Fehlermeldung <Invalide operand for operation>.
Übergebe ich irgendwelche Werte als falschen Datentyp oder falsche Reihenfolge... ?!? :X
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Stored Procedure | Invalid operand for operator <assigment>

  Alt 6. Jan 2011, 20:42
Warum verwendest du keine parametrisierte Abfragen?
Markus Kinzler
  Mit Zitat antworten Zitat
Metallicwar

Registriert seit: 5. Feb 2010
Ort: Bad Kissingen
293 Beiträge
 
Delphi XE Architect
 
#3

AW: Stored Procedure | Invalid operand for operator <assigment>

  Alt 6. Jan 2011, 20:49
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:
EXECUTE PROCEDURE SP_RechnungsImport1('01.01.2011',10005,'test',10,18)
da erhalte ich ja die Fehlermeldung invalid operand for operator <assigment>
Habe mal zum Test die Werte umgedreht, also ...
Code:
EXECUTE PROCEDURE SP_RechnungsImport1(18,10,'test',10005,'01.01.2011')
dann bekomm ich die Fehlermeldung invalid operand for operator <INVALID DATE>
aber was ist an dem Datum falsch?
oder hab ich jetzte eine falsche Reihenfolge?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Stored Procedure | Invalid operand for operator <assigment>

  Alt 6. Jan 2011, 20:52
Vielleicht wird kein deutsches Datumsformat erwartet.
Markus Kinzler
  Mit Zitat antworten Zitat
Metallicwar

Registriert seit: 5. Feb 2010
Ort: Bad Kissingen
293 Beiträge
 
Delphi XE Architect
 
#5

AW: Stored Procedure | Invalid operand for operator <assigment>

  Alt 6. Jan 2011, 20:57
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 !
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Stored Procedure | Invalid operand for operator <assigment>

  Alt 6. Jan 2011, 20:59
Das ist genau eine Grund, warum man Parameter verwenden sollte.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von joachimd
joachimd

Registriert seit: 17. Feb 2005
Ort: Weitingen
672 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Stored Procedure | Invalid operand for operator <assigment>

  Alt 7. Jan 2011, 11:34
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 !
AdsSetDateFormat aus der Unit ACE hilft. einfach zu Programmstart mal ein ACE.ADSSetDateFormat(ShortDateFormat) 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.
Joachim Dürr
Joachim Dürr Softwareengineering
http://www.jd-engineering.de
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz