amigos disculpenme si los hice perder el tiempo, es que a veces la solucion es tan facil y esta ahi mismo pero uno no se imagina como hasta que me di cuenta de una cosa bueno ojala esto e sirva a otra persona para no estar cambiando la configuracion regional
lo que pasa es que la tabla tiene
Codigo de tipo entero,
NombreProducto de tipo varchar y
Cantidad de tipo varchar
la cantidad es de tipo varchar o sea string entonces lo mas logico es que yo al modificar al tabla con los datos listos para enviar, deberia mandar un dato de tipo string no un real convertido a string, si se fijan en el ejemplo que di, desde delphi puse esto:
Código Delphi
[-]
CodigoProducto:=StrToInt('1');
ValorModificadoProducto:=48,5;
Query:='SP_MODIFICA_PRODUCTO '
+ IntToStr(CodigoProducto) + ','
+ FloatToStr(ValorModificadoProducto);
Q_ModificaProducto.SQL.Clear;
Q_ModificaProducto.SQL.Add(query);
Q_ModificaProducto.ExecSQL;
como ven estoy transformando el valor de un reala un string pero claro me va a reclamar por que le estoy mandando 3 parametros en vez de dos y como sql separa en sus procedimientos por comas esto no poria ser jamas, bueno la solucion era muy facil solo habia que cambiar el FloatToStr(ValorModificadoProducto); por + Chr(39) + ValorModificadoProducto + Chr(39); con esto el digo al procedimiento que todo lo que este entre Chr(39) quede como string ya que Chr(39) es el codigo ascci de el caracter '
bueno deje el procedimiento asi
Código Delphi
[-]Query:='SP_MODIFICA_PRODUCTO '
+ IntToStr(CodigoProducto) + ','
+ Chr(39) + ValorModificadoProducto + Chr(39);
Q_ModificaProducto.SQL.Clear;
Q_ModificaProducto.SQL.Add(query);
Q_ModificaProducto.ExecSQL;
con eso quedaria asi SP_MODIFICA_PRODUCTO 1,'dsdad' ok
eso seria muchas gracias por la ayuda que me dieron, espeor le sirva a alguien eso
gracias a todos ya resolvi el problema