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

ASP + MySQL + Recordset

Estas en el tema de ASP + MySQL + Recordset en el foro de ASP Clásico en Foros del Web. Hola, tengo el siguiente codigo: <% Set oConn = Server.CreateObject("ADODB.Connection") Conexion = "Driver={MySQL ODBC 3.51 Driver};Server=localhost;Database=wikidb;User=abc; Password=abc;" oConn.Open Conexion STRSQL_proba = "SELECT * FROM wiki_user" ...
  #1 (permalink)  
Antiguo 08/08/2007, 08:24
Nax
 
Fecha de Ingreso: enero-2002
Ubicación: Euskal Herria
Mensajes: 129
Antigüedad: 22 años, 5 meses
Puntos: 0
ASP + MySQL + Recordset

Hola, tengo el siguiente codigo:

<%
Set oConn = Server.CreateObject("ADODB.Connection")
Conexion = "Driver={MySQL ODBC 3.51 Driver};Server=localhost;Database=wikidb;User=abc; Password=abc;"
oConn.Open Conexion

STRSQL_proba = "SELECT * FROM wiki_user"
Set rs_proba = oConn.Execute(STRSQL_proba)

%>

<table>
<%
While NOT rs_proba.EOF
Response.Write("<tr>")
Response.Write("<td>" & rs_proba("user_name") & "</td>")
Response.Write("</tr>")
rs_proba.MoveNext()
Wend
%>
</table>

Lo ke quiero es listar los nombres de usuarios y es imposible! El error ke me da es el siguiente:

Error de Microsoft VBScript en tiempo de ejecución (0x800A000D)
No coinciden los tipos


Pero si en vez de poner Response.Write("<td>" & rs_proba("user_name") & "</td>") pongo Response.Write("<td>" & rs_proba("user_id") & "</td>") si ke me muestra los ids. El campo user_id es un int(5) y el user_name es varbinary(255), tiene algo ke ver? ke esta pasando?

Saludos y gracias de antemano.
__________________
SOS Palestina
  #2 (permalink)  
Antiguo 08/08/2007, 10:48
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
Re: ASP + MySQL + Recordset

y seguro que se llama asi el campo????

suerte
__________________
JuanRa Pérez
San Salvador, El Salvador
  #3 (permalink)  
Antiguo 08/08/2007, 10:49
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 17 años, 7 meses
Puntos: 8
Re: ASP + MySQL + Recordset

Que tal Nax.

Lo que pasa es que el campo user_name, no es de tipo cadena tienes que pasarlo a ese tipo, o cambiar el tipo de dato de ese campo a varchar. Por lo tanto es lógico el error.

Creo que debes de convertir ese vampo user_name desde mySQL a otro del tipo cadena para que lo puedas presentar, esa duda quizá sea resulta en el foro de mySQL.

Saludos!
  #4 (permalink)  
Antiguo 08/08/2007, 14:43
Avatar de mc_quake  
Fecha de Ingreso: enero-2006
Ubicación: www.ecocargo.cl
Mensajes: 683
Antigüedad: 18 años, 4 meses
Puntos: 8
Re: ASP + MySQL + Recordset

Cita:
Iniciado por Nax Ver Mensaje
Hola, tengo el siguiente codigo:

<%
Set oConn = Server.CreateObject("ADODB.Connection")
Conexion = "Driver={MySQL ODBC 3.51 Driver};Server=localhost;Database=wikidb;User=abc; Password=abc;"
oConn.Open Conexion

STRSQL_proba = "SELECT * FROM wiki_user"
Set rs_proba = oConn.Execute(STRSQL_proba)

%>

<table>
<%
While NOT rs_proba.EOF
Response.Write("<tr>")
u_name = rs_proba("user_name")
Response.Write("<td>" y aca solo muestras la variableu_name "</td>")
Response.Write("</tr>")
rs_proba.MoveNext()
Wend
%>
</table>

Lo ke quiero es listar los nombres de usuarios y es imposible! El error ke me da es el siguiente:

Error de Microsoft VBScript en tiempo de ejecución (0x800A000D)
No coinciden los tipos


Pero si en vez de poner Response.Write("<td>" & rs_proba("user_name") & "</td>") pongo Response.Write("<td>" & rs_proba("user_id") & "</td>") si ke me muestra los ids. El campo user_id es un int(5) y el user_name es varbinary(255), tiene algo ke ver? ke esta pasando?

Saludos y gracias de antemano.

yo lo dejaria asi
__________________
Mc_Quake

Para ayudar en lo que se pueda:Zzz:
  #5 (permalink)  
Antiguo 08/08/2007, 23:51
Nax
 
Fecha de Ingreso: enero-2002
Ubicación: Euskal Herria
Mensajes: 129
Antigüedad: 22 años, 5 meses
Puntos: 0
Re: ASP + MySQL + Recordset

Bien, ya he echo la prueba que comentaba mc_quake... sigue dando el mismo error, pero si en vez de Response.Write("<td>" & user_name & "</td>") escribo Response.Write(user_name) el resultado no es un error es ??? (si, si, tres interrogaciones). No entiendo nada...

Y si como dice daniel00 el problema es del tipo de datos como puedo convertirlo en varchar desde ASP? Y que pasa con el resto de campos (tinyblob, binary(14), blob)? Debo convertirlos todos a varchar? No combiene que cambie nada de la base de datos... pertenece a otro poyecto...

Saludos y gracias de antemano!
__________________
SOS Palestina
  #6 (permalink)  
Antiguo 09/08/2007, 00:44
Nax
 
Fecha de Ingreso: enero-2002
Ubicación: Euskal Herria
Mensajes: 129
Antigüedad: 22 años, 5 meses
Puntos: 0
De acuerdo Re: ASP + MySQL + Recordset

Parece que tengo la mañana inspirada! Solucionado!!!

Cambio el tipo de dato en la consulta de seleccion:

STRSQL_proba = "SELECT user_id, CAST(user_name AS CHAR) FROM wiki_user"
Set rs_proba = oConn.Execute(STRSQL_proba)

%>

<table border="1">
<%
While NOT rs_proba.EOF
Response.Write("<tr>")
Response.Write("<td>" & rs_proba(0) & "</td>")
Response.Write("<td>" & rs_proba(1) & "</td>")

Response.Write("</tr>")
rs_proba.MoveNext()
Wend
%>
</table>

Muchas garcias a tod@s!!!
__________________
SOS Palestina
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 16:09.