Los Foros de ASPTutor.com
Home | Perfil | Registrarse | Temas Activos | Miembros | Buscar | FAQ
Usuario:
Password:
 Todos los Foros
 ASP
 Error ODBC Driver al intentar escribir en una BD
 Foro Bloqueado  Tema Bloqueado


Autor Temas
alrodri
Starting Member


18 Posts
Mensajes - 05 Jun 2004 :  17:22:42  Ver Perfil  Enviar Email
Saludos,

Estoy intentando interactuar ASP 3.0 con MySQL 4.0, tengo el siguiente código:


37-set tblpruebas = Server.CreateObject("ADODB.RecordSet")
38-
39-strSQL="SELECT * FROM tblpruebas ORDER BY PRID"
40-tblpruebas.Open strSQL, cnMySQL, adOpenDynamic, adLockOptimistic,adCmdText
41-
42-if tblpruebas.EOF then
43- tblpruebas.AddNew
44- tblpruebas("PRID")=1
45-else
46- tblpruebas.MoveLast
47- vPRID=tblpruebas("PRID")
48- tblpruebas.AddNew
49- tblpruebas("PRID")=vPRID+1
50-end if
51-
52-tblpruebas("PRNOM")=vNom
53-tblpruebas("PRMAIL")=vMail
54-
55-tblpruebas("PRCODE")=vCode
56-tblpruebas("PRDATE")=Date()
57-
58-tblpruebas.UpDate
59-tblpruebas.Close
60-cnMySql.Close

Por su parte la tabla tblpruebas tiene los siguientes campos:

PRID----Type: INT
PRNOM---Type: VARCHAR(50)
PRMAIL--Type: VARCHAR(50)
PRCODE--Type: INT
PRDATE--Type: DATE

El error que recibo es el siguiente:

Microsoft OLE DB Provider for ODBC Drivers error '80040e21'
Multiple-step OLE DB operation generated errors. Check each OLE DB status value,
if available. No work was done.
/p/index.asp, line 52

Este error, entre sus diferentes causas pueden ser:

- Incompatibilidad entre el nombre de los campos según código y el verdadero que
tiene la tabla: NO EXISTE.
- Incompatibilidad entre el tipo de dato y el tipo de campo: NO EXISTE, por que
pretendo escribir “Juan Mora” en un VARCHAR (50)
- Que la cadena sea más larga que la longitud del campo: NO LO ES.

Si hago un comentrio a las líneas 52 y 53 (la de las cadenas), todo funciona
correctamente, salvo que no guardo ni nombre, ni eMail, es decir los campos
INT y DATE no se quejan.

He probado las siguientes variantes y continua saliendo el mismo error:

52-tblpruebas("PRNOM")="Juan" //Escribiendo directamente una cadena

="'Juan'"
="'"&vNom&"'"
=trim(request.form("vNom"))

He cambiado los campos VARCHAR por MEDIUMTEXT, pero obtengo el siguiente error, referente al método UpDate:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Driver Manager] Invalid string or buffer length
/p/index.asp, line 58


Solo puedo escribir correctamente en la tabla utilizando la sencia INSERT del PHPMyAdmin.

Para leeer el contenido de los campos no genera ningún error.

Gracias por su extensa atención.

   
 Foro Bloqueado  Tema Bloqueado
Ir a:
Los Foros de ASPTutor.com Los Foros de ASPTutor.com
Ir al principio de la Página

 Imprimir Tema
 

Descargas de manuales¦ Ejemplos de código ¦ Artículos mas visitados ¦ Envía tu articulo ¦ Foros ¦
  Libro de visitas ¦Crea un enlace con ASPTutor 
 

    © 2001-Hasta hoy  Pedro Rufo Martín  contactar