Ver Mensaje Individual
  #6 (permalink)  
Antiguo 07/04/2011, 11:58
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 7 meses
Puntos: 2658
Respuesta: Error con ODBC Mysql

Vamos al manual (http://msdn.microsoft.com/es-es/library/ms366730.aspx):
La escritura de parámetros en una sentencia SQL embebida en ASP no es la misma que usando MySQLConnector.net:
Esto:
Código MySQL:
Ver original
  1. SELECT cal_name FROM eventos WHERE (cal_id = ?cal_id)
Se debe escribir:
Código MySQL:
Ver original
  1. SELECT cal_name FROM eventos WHERE (cal_id = ?)
porque ODBC espera la escritura de los parámetros de otra forma.

Veamos un ejemplo de MSDN
Código ASP:
Ver original
  1. Dim updateCmd As OdbcCommand = New OdbcCommand("UPDATE Users  " & _
  2.                           "SET LastActivityDate = ? " & _
  3.                           "WHERE Username = ? AND Applicationname = ?", conn)
  4.  
  5.                 updateCmd.Parameters.Add("@LastActivityDate", OdbcType.DateTime).Value = DateTime.Now
  6.                 updateCmd.Parameters.Add("@Username", OdbcType.VarChar, 255).Value = username
  7.                 updateCmd.Parameters.Add("@ApplicationName", OdbcType.VarChar, 255).Value = pApplicationName
  8.  
  9.                 updateCmd.ExecuteNonQuery()
En cualquier caso, sea o no la forma en que codificas, hay algo que queda claro:
1) En ODBC los parámetros no se usan con nombre, sino con orden, y para identificarlos sólo se usa "?".
2) El nombre de los parámertos se usa al insertar sus valores, pero precedidos de "@".
3) Necesitamos un buen manual de ODBC...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)