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

Modificacion de datos numericos con decilames

Estas en el tema de Modificacion de datos numericos con decilames en el foro de ASP Clásico en Foros del Web. Buenas tardes, tengo mi base de datos Access en la que estoy grabando datos numericos con decimales, pero esto no es tan cierto, puesto para ...
  #1 (permalink)  
Antiguo 27/11/2008, 12:21
Avatar de Cameron_2006  
Fecha de Ingreso: diciembre-2006
Mensajes: 248
Antigüedad: 18 años, 2 meses
Puntos: 0
Modificacion de datos numericos con decilames

Buenas tardes, tengo mi base de datos Access en la que estoy grabando datos numericos con decimales, pero esto no es tan cierto, puesto para que me acepte los decimales, lo que hice fue cambiar esos campos a "moneda" con "dos decimales", lo cual graba perfectamente. Claro, también para esto tengo que separar con puntos en lugar de comas.

Ahora el problema que tengo es que si quiero modificar esos datos, primero recupero los datos de la base de datos, y estos me devuelve los numeros con comas, entonces trato de modificarlo dejando esas comas y no me acepta el cambio, tengo entonces que cambiar todas las comas por el punto y así SI funciona.

Habría otra forma más simple de hacer esto?

Lo que debería ser es que acepte las comas desde el principio y así podría hacer las modificaciones, sin que sea tan engorroso.

Para ver si esto es posible, lo primero que hice fue crear una funcion que validara que esos campos fueran numericos:

<%
'validar datos numericos
function DatosValidos(pmetros, pservicios, pfachada, phabitaciones, pprecio)
DatosValidos=False
if len(trim(pmetros))=0 then exit function
if len(trim(pservicios))=0 then exit function
if len(trim(pfachada))=0 then exit function
if len(trim(phabitaciones))=0 then exit function
if len(trim(pprecio))=0 then exit function

if not isnumeric(pmetros) then exit function
if not isnumeric(pservicios) then exit function
if not isnumeric(pfachada) then exit function
if not isnumeric(phabitaciones) then exit function
if not isnumeric(pprecio) then exit function
DatosValidos = True
end function
%>


luego inserté el código de la siguiente manera:

if DatosValidos(metros, servicios, fachada, dormitorios, precio) then

Ssql = "insert into inmuebles (ref_inmueble, tipo_inmueble,clase_inmueble,zona_inmueble,metros, calle, "
Ssql = Ssql & "barrio,servicios,fachada,habitaciones,precio,mone da_inmueble,trastero,garage,amoblado,aire_acondici onado, "
Ssql = Ssql & "calefaccion,piscina, caracteristicas,notas,fecha) values ('" & ref_inmueble & "'," & id_tipo & ","
Ssql = Ssql & id_clase & "," & id_zona & ","&cint(metros) & ",'"&apostrofe(calle)&"', '"&apostrofe(barrio)&"',"
Ssql = Ssql & cint(servicios) & ","&cdbl(fachada) & ","&cint(dormitorios) & ","
Ssql = Ssql & cstr(cdbl(precio)) & "," & moneda & "," & trastero & "," & garage & "," & amoblado & "," & aire & "," & calefaccion& ","
Ssql = Ssql & piscina & ",'" &apostrofe(caracteristicas)& "','" &apostrofe(notas)& "','" & fecha & "')"
response.write(ssql)
response.end
conn.execute ssql
%>


haciendo eso me da este error:

Microsoft JET Database Engine error '80040e14'

El número de valores de consulta y el número de campos de destino son diferentes.

/administrador/inmuebles_locales/nuevoregistro.asp, línea 88


La linea 88 es esta:
conn.execute ssql

---
OK, pero si le cambio la coma por el punto, entonces, lo que vendría siendo 4,5 se convierte en 45 y lo graba.

Alguien me podría ayudar con este problema? gracias de antemano

Última edición por Cameron_2006; 27/11/2008 a las 12:23 Razón: agregar datos
  #2 (permalink)  
Antiguo 27/11/2008, 13:11
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 4 meses
Puntos: 27
Respuesta: Modificacion de datos numericos con decilames

no te sale mas facil ir a access y en lugar de entero ponerle tipo doble?????

Tipo de campo: numero
tamaño del campo: Doble

¿?
__________________
JuanRa Pérez
San Salvador, El Salvador
  #3 (permalink)  
Antiguo 27/11/2008, 13:21
Avatar de Muzztein  
Fecha de Ingreso: agosto-2002
Ubicación: Hangar 18
Mensajes: 1.703
Antigüedad: 22 años, 6 meses
Puntos: 16
Respuesta: Modificacion de datos numericos con decilames

Decilames ????

=P

El problema de dejar que la base de datos trabaje con los tipos de datos, es que esto recae en la configuracion regional que tiene el servidor y todo se transforma en un verdadero PARTO. Ya que tienes que ponerte apensar en "que pasa si el servidor esta configurado de esta manera o de esta otra"

Lo que yo hago, es que incluso hasta las fechas, las guardo en la BD como VARCHAR. y es la Clase que creo en ASP la que decide como trabajar, si es con decimales o con X formato de fecha.

Si es que puedes, te comiendo que te olvides de los tipos de datos de las BDs. y manten el control en tu codigo ASP.

Dejarle ese trabajo a la BD solo te trae problemas.
  #4 (permalink)  
Antiguo 27/11/2008, 13:47
Avatar de Cameron_2006  
Fecha de Ingreso: diciembre-2006
Mensajes: 248
Antigüedad: 18 años, 2 meses
Puntos: 0
Respuesta: Modificacion de datos numericos con decilames

gracias, ya cambié a numero/doble, y me sigue dando el mismo error...

Microsoft JET Database Engine error '80040e14'

El número de valores de consulta y el número de campos de destino son diferentes.

/administrador/inmuebles_locales/nuevoregistro.asp, línea 88
  #5 (permalink)  
Antiguo 27/11/2008, 14:00
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 4 meses
Puntos: 27
Respuesta: Modificacion de datos numericos con decilames

oki y ya contastes los campos contra los valores a insertar?
__________________
JuanRa Pérez
San Salvador, El Salvador
  #6 (permalink)  
Antiguo 27/11/2008, 22:29
Avatar de akela  
Fecha de Ingreso: septiembre-2000
Ubicación: Frente a la compu
Mensajes: 660
Antigüedad: 24 años, 6 meses
Puntos: 2
Respuesta: Modificacion de datos numericos con decilames

Ese error resulta cuando tratas de hacer algo así:

INSERT INTO tabla (campo01,campo02,campo03) VALUES (valor01,valor02)

Es decir son diferentes el numero de campos con el numero de valores a insertar ;)

saludos.
__________________
Si quieres que las cosas sucédan

provocalas!
  #7 (permalink)  
Antiguo 29/11/2008, 11:17
Avatar de Cameron_2006  
Fecha de Ingreso: diciembre-2006
Mensajes: 248
Antigüedad: 18 años, 2 meses
Puntos: 0
Respuesta: Modificacion de datos numericos con decilames

Gracias, hice lo que dijo Muzztein y resultó.
  #8 (permalink)  
Antiguo 30/11/2008, 09:31
 
Fecha de Ingreso: noviembre-2008
Mensajes: 13
Antigüedad: 16 años, 3 meses
Puntos: 0
Pregunta Ayuda urgente en ASP

Man me podrias decir comoencuentro documentacion sobre ASP con JavaScript
donde la variable en ASP se declara con var


escribeme al foro y a:

[email protected]
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




La zona horaria es GMT -6. Ahora son las 07:22.