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

Error en llamada a procedimiento almacenado SQL con parámetros

Estas en el tema de Error en llamada a procedimiento almacenado SQL con parámetros en el foro de .NET en Foros del Web. Muy wenas, Os cuento con lo que llevo toda la tarde liado por si alguien se le ocurre algo. Tengo un procedimiento almacenado con nombre ...
  #1 (permalink)  
Antiguo 18/08/2009, 12:42
 
Fecha de Ingreso: abril-2008
Ubicación: Frente a mi máquina que suele estar en ... Cartagena-España
Mensajes: 106
Antigüedad: 16 años
Puntos: 8
Error en llamada a procedimiento almacenado SQL con parámetros

Muy wenas,

Os cuento con lo que llevo toda la tarde liado por si alguien se le ocurre algo.
Tengo un procedimiento almacenado con nombre ModificarUsuarioporCodigo que recibe dos parámetros y realiza una modificación de uno de ellos en función del otro. Uno de los parámetros es el código de usuario y el otro el nombre. Lo único que hago es set del nombre where codigo de usuario. Esto funciona ya que con una sentencia lo pruebo y se modifica.

El problema es cuando lo intento ejecutar el procedimiento almacenado. Lo que estoy haciendo es lo siguiente:

//Creo un array de objetos que son los parámetros
object [] ParametrosUsuarioCreado = new object [2];
ParametrosUsuarioCreado[0] = UsuarioCreado.Codigo;
ParametrosUsuarioCreado[1] = UsuarioCreado.Nombre;

//Abro la cnx y le enchufo el nombre del procedimiento almacenado y los parámetros.
Database dbFac = DatabaseFactory.CreateDatabase();
DbCommand dbCmd = dbFac.GetStoredProcCommand("ModificarUsuarioPorCod igo", ParametrosUsuarioCreado);

La parte anterior está entre try de modo que no creo que sea error de cnx. Me da que será por el tema de los parámetros pero no controlo....

Un saludo a todos.

PD: Uso el Edit Enterprise Library Configuration por lo que creo que no me tengo que preocupar de open, connect, close, etc, sino que este se encarga una capa por debajo ¿no?

PD2: Tengo otro procedimiento remoto que hace un select de la tabla de usuarios y este no da problemas. He empleado el mismo código para las dos conexiones.
  #2 (permalink)  
Antiguo 18/08/2009, 15:58
Avatar de 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, 5 meses
Puntos: 2658
Respuesta: Error en llamada a procedimiento almacenado SQL con parámetros

Ahora bien, ¿qué DBMS usas?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 18/08/2009, 21:09
 
Fecha de Ingreso: enero-2007
Ubicación: Tingo María - Perú
Mensajes: 399
Antigüedad: 17 años, 3 meses
Puntos: 13
Respuesta: Error en llamada a procedimiento almacenado SQL con parámetros

Empecemos por saber que error te muestra.
__________________
Vivir para ser buenos y ser buenos para servir mejor.
  #4 (permalink)  
Antiguo 19/08/2009, 01:23
 
Fecha de Ingreso: abril-2008
Ubicación: Frente a mi máquina que suele estar en ... Cartagena-España
Mensajes: 106
Antigüedad: 16 años
Puntos: 8
Respuesta: Error en llamada a procedimiento almacenado SQL con parámetros

Cita:
Ahora bien, ¿qué DBMS usas?
Estoy usando SQL server 2005 express.

Cita:
Empecemos por saber que error te muestra.
No muestra error. Mediante debug llego a ver que los parámetros son los que quiero enviar. Pero luego no se que ocurre con el Procedimiento Almacenado.

La verdad es que no se si está haciendo algo con la base de datos. lo que voy a probar es mandando una orden SQL y no un procedimiento almacenado. ¿Pero hay forma de ver con SQL Management express que se está produciendo la cnx pero que no se está ejecutando el Procedimiento? Supongo que se podrá ver en el log de SQL pero lo desconozco.

Un saludo.
  #5 (permalink)  
Antiguo 19/08/2009, 02:28
 
Fecha de Ingreso: abril-2008
Ubicación: Frente a mi máquina que suele estar en ... Cartagena-España
Mensajes: 106
Antigüedad: 16 años
Puntos: 8
Respuesta: Error en llamada a procedimiento almacenado SQL con parámetros

Hola de nuevo,

comentar que lo solucioné. Buscando y rebuscando entre Gigas de basura que tengo en el ordenador, encontré un ejemplo de un curso.

Consiste no mandar los parámetros de la forma anterior sino en hacer los siguiente:

//Creamos la conexión
Database dbFac = DatabaseFactory.CreateDatabase();

//Creamos el comando que ejecuta el procedimiento almacenado
DbCommand dbCmd = dbFac.GetStoredProcCommand("ModificarUsuarioPorCod igo");
//Le añadimos los parámetros que necesita el procedimiento almacenado
dbFac.AddInParameter(dbCmd, "@Codigo", DbType.String, UsuarioCreado.Codigo);
dbFac.AddInParameter(dbCmd, "@Nombre", DbType.String, UsuarioCreado.Nombre);
//Ejecutamos
mensajecodigo = Convert.ToInt32(dbFac.ExecuteScalar(dbCmd));


Pos ala, ahí lo dejamos pues por si ha alguien le viene bien.

Saludossss.
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 07:36.