2 messages in com.mysql.lists.mysql-esError ODBC Driver al intentar escrib...| From | Sent On | Attachments |
|---|---|---|
| Alberto Rodríguez Pi | 05 Jun 2004 08:40 | |
| Satyam | 05 Jun 2004 09:04 |
| Subject: | Error ODBC Driver al intentar escribir en una BD MySQL desde ASP 3.0![]() |
|---|---|
| From: | Alberto Rodríguez Pi (alro...@iespana.es) |
| Date: | 06/05/2004 08:40:39 AM |
| List: | com.mysql.lists.mysql-es |
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 leer el contenido de los campos no genera ningún error.
Gracias por su extensa atención.
---Publicidad-------------------------------------------------------- Únete a los miles de sin pareja en Meetic... ¡te vas a enamorar! http://www.iespana.es/_reloc/email.meetic
---Publicidad-------------------------------------------------------- Juega con Ventura24.es, lotería inteligente y multiplica tus posibilidades!! http://www.iespana.es/_reloc/email.ventura




