Ver Mensaje Individual
  #6  
Antiguo 04-09-2008
Memo6015 Memo6015 is offline
Miembro
 
Registrado: ago 2008
Posts: 35
Reputación: 0
Memo6015 Va por buen camino
no me funciono

mi procedimiento almacenado es este

CREATE PROCEDURE SP_MODIFICA_PRODUCTO

@Cod smallint,
@Cant float
AS
update productos
set Cantidad = @Cant
where Codigo =@Cod

como ven recibe un dato float, con el entero no tengo problemas y lo malo que desde el programa debo trabajar obligatoriamente con datos float por que el integer hace un trunc y 15,5 lo deja en 15, enviar el dato como un string tampoco puedo por que la variable an sql esta definida como float
asi que me dara error si envio un string a un float

la parte que escribe es un ciclo

for i:=0 to Indice_Int-1 do
begin
ValorIngreso_real:=RestaProductosCod[i]/1000;
CodigoIngreso_Int:=StrToInt(codigo_Ing[i]);
{
Query:='SP_MODIFICA_PRODUCTO '
+ IntToStr(CodigoIngreso_Int) + ','
+ FloatToStr(ValorIngreso_real);
Q_IngresaPlato.SQL.Clear;
Q_IngresaPlato.SQL.Add(query);
Q_IngresaPlato.ExecSQL;
}
end;

ValorIngreso_real es el valor de tipo real definido en delphi como ven recibe una division que le da datos del tipo 14,5 47,8 etc
pero el procedimiento queda asi

SP_MODIFICA_PRODUCTO 1, 15,4
como ven se crean tres parametros debido a la coma de delphi me gustaria cambiar esa coma por punto


bueno gracias por la ayuda

lo agradezco mucho, todos los puntos de vista me sirven
Responder Con Cita