Ver Mensaje Individual
  #5  
Antiguo 15-04-2009
Memo6015 Memo6015 is offline
Miembro
 
Registrado: ago 2008
Posts: 35
Reputación: 0
Memo6015 Va por buen camino
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
Responder Con Cita