Foros del Web » Programación para mayores de 30 ;) » .NET »

como declarar los parametros para mi procedimiento almacenado con odbcCommand

Estas en el tema de como declarar los parametros para mi procedimiento almacenado con odbcCommand en el foro de .NET en Foros del Web. Lo copie y volví a enviar para que lo lean por este nuevo titulo -------------------------------------------------------------------------------- Mi problema es el siguiente, cambié la forma de conexión ...
  #1 (permalink)  
Antiguo 02/06/2010, 08:58
 
Fecha de Ingreso: abril-2008
Mensajes: 82
Antigüedad: 13 años, 8 meses
Puntos: 0
Pregunta como declarar los parametros para mi procedimiento almacenado con odbcCommand

Lo copie y volví a enviar para que lo lean por este nuevo titulo
--------------------------------------------------------------------------------
Mi problema es el siguiente, cambié la forma de conexión en los procedimientos almacenados tuve que cambiar todo para odbc y no me reconoce los parametros,ej:

antes tenia esta llamada a mi procedimiento almacenado en sqlserver2000
Dim comando As New OleDbCommand("modificar_AFP", Connection)
comando.CommandType = CommandType.StoredProcedure
comando.Parameters.Add(New OleDbParameter("@AFP", AFP.Text))
comando.Parameters.Add(New OleDbParameter("@Descripcion", Descripcion.Text))
comando.Parameters.Add(New OleDbParameter("@Prevision", Prevision.Text))
Connection.Open()
comando.ExecuteNonQuery()
Connection.Close

y se ejecutaba sin problema,
ahora lo cambié

Dim comando As New OdbcCommand("modificar_AFP", Connection)
comando.Parameters.Add(New OdbcParameter("@AFP", AFP.Text))
comando.Parameters.Add(New OdbcParameter("@Descripcion", Descripcion.Text))
comando.Parameters.Add(New OdbcParameter("@Prevision", Prevision.Text))
Connection.Open()
comando.ExecuteNonQuery()
Connection.Close

y al ejecutar el procedimiento aparece el siguiente error

"el procedimiento 'modificar_AFP' precisa el parametro '@AFP' que no se ha especificado"
traté de declararlo así
dim @AFP as OdbcParameter

pero no me acepta el simbolo @

Mi pregunta es ¿cómo puedo declarar los parametros utilizando OdbcCommand para que se pueda ejecutar correctamente mi procedimiento almacenado?

espero que esta vez alguien me pueda dar una ayudita por favor.
Saludos
  #2 (permalink)  
Antiguo 02/06/2010, 09:02
Avatar de zick  
Fecha de Ingreso: mayo-2007
Ubicación: Los Angeles - Chile
Mensajes: 168
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: como declarar los parametros para mi procedimiento almacenado con odbcComm

Hola

Revisando tu codigo (entre el anterior y el nuevo) te saltaste una linea

comando.CommandType = CommandType.StoredProcedure

no sera eso??

saludos
__________________
SZC - Aplicaciones y Servicios.
http://www.szc.cl
Los Angeles - Chile
  #3 (permalink)  
Antiguo 02/06/2010, 09:10
 
Fecha de Ingreso: abril-2008
Mensajes: 82
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: como declarar los parametros para mi procedimiento almacenado con odbcComm

Hola, no, solo se me olvidó copiar esta linea
comando.CommandType = CommandType.StoredProcedure en el ejemplo,
pero en mi programa está correctamente

sé que hay algo con los parametros por odbc pero no se como se resuleve...
  #4 (permalink)  
Antiguo 02/06/2010, 10:51
 
Fecha de Ingreso: abril-2008
Mensajes: 82
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: como declarar los parametros para mi procedimiento almacenado con odbcComm

Ya lo solucioné, dejo el código:

Dim comando As OdbcCommand = Connection.CreateCommand()

comando.CommandText = "{ call modificar_AFP(?,?,?)}"
comando.Parameters.Add("", OdbcType.VarChar).Value = AFP.Text
comando.Parameters.Add("", OdbcType.VarChar).Value = Descripcion.Text
comando.Parameters.Add("", OdbcType.Double).Value = Prevision.Text
Connection.Open()
comando.ExecuteNonQuery()
Connection.close

Saludos.

Etiquetas: declarar, parametros, procedimiento, almacenar
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 04:02.