Foros del Web » Programando para Internet » ASP Clásico »

Procedimiento Almacenado: Money

Estas en el tema de Procedimiento Almacenado: Money en el foro de ASP Clásico en Foros del Web. Tengo creado un procedimiento almacenado, y se queja cuando le paso un valor tipo "money". El error es el siguiente: No se permite la conversión ...
  #1 (permalink)  
Antiguo 12/03/2005, 13:39
 
Fecha de Ingreso: marzo-2005
Mensajes: 64
Antigüedad: 20 años, 2 meses
Puntos: 0
Procedimiento Almacenado: Money

Tengo creado un procedimiento almacenado, y se queja cuando le paso un valor tipo "money". El error es el siguiente:
No se permite la conversión implícita del tipo de datos varchar a money. Utilice la función CONVERT para ejecutar esta consulta.
Tengo que pasarle este valor de alguna forma en especial? Se lo paso así:

cmdInsert.Parameters.Append cmdInsert.CreateParameter("@costeadq", 200, 1, 8, costeadq)

Y otra cosa, hay algún documento por aquí donde explique en detalle como llamar a un procedimiento almacenado? Es que, yo utilizo la forma que he puesto arriba, y la verdad es q no sé que significan los números que he puesto..... Sin embargo he visto que hay otras formas de llamarlo..... no sé si me podéis ayudar.... Gracias
  #2 (permalink)  
Antiguo 12/03/2005, 22:31
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 20 años, 8 meses
Puntos: 18
en los foros puse hace algún tiempo un enlace a un tutorial de procedimientos almacenados bueno. aún funciona. y respecto al error, el mismo texto de ese error te dice lo que tienes que hacer.
  #3 (permalink)  
Antiguo 13/03/2005, 04:32
 
Fecha de Ingreso: marzo-2005
Mensajes: 64
Antigüedad: 20 años, 2 meses
Puntos: 0
Lo que no entiendo es que yo le paso un número: 100
¿Se supone que no es del tipo money? ¿tengo que hacer un convert del 100?
  #4 (permalink)  
Antiguo 13/03/2005, 04:44
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 20 años, 8 meses
Puntos: 18
pues si. igual que si le pasas "100"
  #5 (permalink)  
Antiguo 13/03/2005, 11:08
 
Fecha de Ingreso: marzo-2005
Mensajes: 64
Antigüedad: 20 años, 2 meses
Puntos: 0
Mirando otros temas he encontrado esto:
En SQL CONVERT(money, variableotrotipo)
En VBA cCur(variableotrotipo), por el error que te da lo mas probable es que el separador decimal este mal "." por "," o al reves dependiendo de tu configuracion regional.
Prueba si no me equivoco cCur(Replace(variableotrotipo,","," ."))


He intentado pasarle el parámetro así:
cmdSW.Parameters.Append cmdSW.CreateParameter("@costeadq", 200, 1, 8, ccur(Replace(costeadq,",",".") ))

Pero nada..... Alguien me puede ayudar?
  #6 (permalink)  
Antiguo 13/03/2005, 23:49
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 20 años, 8 meses
Puntos: 18
Olvídate de VBA. Has pasado a primera división. Te has bajado el tutorial?


UN COÑO OFF-TOPIC!!!
COÑO! He pasado de los 300!!!!!!!!! jajaja. Felicidades tato ( es que es el cumple de mi hermano y estamos aquí una 20 personas oyendo blues y comiendo chuletas. QUÉ MAL PLAN, NO???)

Última edición por trasgukabi; 13/03/2005 a las 23:53
  #7 (permalink)  
Antiguo 14/03/2005, 02:42
 
Fecha de Ingreso: marzo-2005
Mensajes: 64
Antigüedad: 20 años, 2 meses
Puntos: 0
Me he leido el tutorial, y todo perfecto si no fuese por ese campo de tipo money. Los procedimientos almacenados en los q sale texto o numeros, van bien, pero este de tipo money, no sé como pasárselo.
En el tutorial no he visto nada de eso, ni explicación de la función convert....
Yo he probado con la función convert, y con el ccur para probar....pero nada....estoy un poco perdida la verdad
  #8 (permalink)  
Antiguo 14/03/2005, 08:05
Avatar de parentesys  
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 235
Antigüedad: 21 años, 7 meses
Puntos: 0
Creo recordar que la función CAST te convierte tipos de datos
CAST (expresion AS tipo)

pruébalo y me cuentas
__________________
Administrador de :
givemefun.net
givemefun.org
  #9 (permalink)  
Antiguo 14/03/2005, 11:24
 
Fecha de Ingreso: marzo-2005
Mensajes: 64
Antigüedad: 20 años, 2 meses
Puntos: 0
Lo de la función CAST, no me ha servido.
Pero ya está solucionado.... quizá no me expliqué bien, pero mi problema era la forma de decirle que tipo de variable era. Es decir, no sabía cual era la constante para el tipo money. Al final le paso que es un entero:
cmdSW.Parameters.Append cmdSW.CreateParameter("@costeadq", adinteger, 1, 8,coste)

Y listo.... registro insertado!
Gracias de todas formas!
  #10 (permalink)  
Antiguo 14/03/2005, 12:20
 
Fecha de Ingreso: marzo-2005
Mensajes: 64
Antigüedad: 20 años, 2 meses
Puntos: 0
Ya está solucionado, el problema era que le pasaba como parámetro adVarChar y luego un entero.
Ahora le paso adInteger y el valor, y lo acepta como Money
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 19:14.