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

Problema con Ingreso de datos a Base?

Estas en el tema de Problema con Ingreso de datos a Base? en el foro de ASP Clásico en Foros del Web. Amigos tengo el siguiente problema y yo se que hay mucho inteligentes en el foro que me van a saber responder. No se que pasa ...
  #1 (permalink)  
Antiguo 15/10/2004, 15:16
 
Fecha de Ingreso: abril-2002
Mensajes: 127
Antigüedad: 23 años, 1 mes
Puntos: 0
Problema con Ingreso de datos a Base?

Amigos tengo el siguiente problema y yo se que hay mucho inteligentes en el foro que me van a saber responder. No se que pasa debe ser una tontería, pero bueno aquí les posteo lo que me pasa:

Quiero meter en una base de Acces 97 unos datos que vienen de un formulario y lo hago así:

Dim variable

variable = 5

strConnection = "driver={Microsoft Access Driver (*.mdb)}; server=www.dominio.com;uid=;pwd=;data source=nombrebase"
Set ObjDB = Server.CreateObject("ADODB.Connection")
ObjDB.Open strConnection

Sql = "Insert Into tabla (campo1,campo2,campo3) values ('"
Sql = Sql&request.Form("dato1")&"','"
Sql = Sql&request.Form("dato2")&"','"
Sql = Sql&variable&"','"
Set ObjRS = ObjDB.Execute(Sql)

Y el error que me tira es este:
Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Controlador ODBC Microsoft Access] El número de valores de consulta y el número de campos de destino son diferentes.
línea 24 (esta linea es el Set ObjRS = ObjDB.Execute(Sql))

No se por que no corresponden los datos? si los campos estan todos iguales, el primer campo de la tabla no lo pongo porque es autonumerico (ese valor lo genera solo la base).

Gracias anticipadas al que me de una mano con eso.
-----------------------------------------------------------------------
Quien es mas tonto el que pregunta o el que se queda con la duda por no preguntar.
  #2 (permalink)  
Antiguo 15/10/2004, 15:21
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
En lugar de ejecutarla, imprime la salida

Response.Write SQL
Response.End

Y pégala aqui, a ver que le encontramos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 15/10/2004, 16:02
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Además de lo que u_g recomienda, veo que la última línea (Sql = Sql&variable&"','") está mal formada. Debería quedar así:

Código:
Sql = Sql&variable&"')"

Igual, si el código anterior está mal (?)transcrito(?) en tu mensaje y el código original está correcto, justamente ayer tuve un problema similar con un código que funcionaba bien en una PC y en otra no.

Resulta que en mi PC, con IE 6, guardaba un texto desde un formulario de carga lo más bien... pero desde otra PC, ésta con IE 5.0, daba el mismo error que a vos te ocurre (El número de valores de consulta y el número de campos de destino son diferentes) intentando guardar EXACTAMENTE EL MISMO TEXTO.

Loco me volví buscando el problema que aparentemente no tenía lógica (y menos que influya el navegador, ya que al código ASP no le importa un carajo qué nevegador sea)...

Hice un response.write de la sentencia SQL (que ya había hecho antes de entregar la aplicación sin inconvenientes) y me arrojaba algo similar a lo siguiente cuando entraba desde el IE 6:

Código:
INSERT INTO tabla (ID, TEXTO) VALUES (6, 'UnTexto') :arriba:
Pero cuando accedía desde el IE 5, mostraba lo siguiente:

Código:
INSERT INTO tabla (ID, TEXTO) VALUES (6,6, 'UnTexto,UnTexto') :abajo:
(por supuesto que lo que está en negritas es lo que está mal y me lo estaba duplicando de alguna extraña manera)

¿Antes dije que me volví loco? Bueno, luego de ver eso ya me estaba volviendo puto!

Pruebas y pruebas y nada...

El texto que estaba intentando guardar infructuosamente desde el IE5 era el siguiente: http://www.santacrucenio.com.ar/news...&id=1097741375

Me decidí a leerlo detenidamente, caracter a caracter, y llegué a la conclusión que era la maldita comilla "rara".

Esta maldita comilla -> <- fue la culpable de una media hora perdida en mi fugaz vida.

Ahora... ¿por qué funcionaba bien en IE6 y no en IE5? Eso andá a que te lo responda la repu@#sima madre que lo remilreparió


Gracias por dejar desahogarme en tu mensaje

Un saludo, me voy a tomar unas cuantas cercezas a la salud de todos
__________________
...___...
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 14:28.