C sharp - Procedimiento Almacenado (Mysql) con c#

 
Vista:
sin imagen de perfil

Procedimiento Almacenado (Mysql) con c#

Publicado por Ernesto (2 intervenciones) el 23/08/2021 21:42:30
Buenas tardes compañeros programadores
me encuentro en un pequeño error que no encuentro como solucionar
lo que sucede es que estoy creando procedimientos almacenados en la base de datos estos se ejecutan sin problema de lado de MYSQL
pero a la hora de ejecutarlos o enviarle los parametros por medio de c# me aparece el siguiente error
les comparto el trozo de codigo

public void insertarDato()
{
//valida apertura de conexión
if (conexionObjeto.connOpen() == true)
{

MySqlCommand ins = new MySqlCommand("CALL pa_remisiones_insertar", conexionObjeto._conexion);
ins.CommandType = CommandType.StoredProcedure;
ins.Parameters.AddWithValue("@id_p",id.ToString());
ins.Parameters.AddWithValue("@cliente_p", cliente.ToString());
ins.Parameters.AddWithValue("@proveedor_p", proveedor.ToString());
ins.Parameters.AddWithValue("@recibo_p", recibo.ToString());
ins.Parameters.AddWithValue("@numFactura_´p", numFactura.ToString());
ins.Parameters.AddWithValue("@modelo_p", modelo.ToString());
ins.Parameters.AddWithValue("@serie_p", serie.ToString());
ins.Parameters.AddWithValue("@remision_p", remision.ToString());
ins.Parameters.AddWithValue("@admision_p", admision.ToString());
ins.Parameters.AddWithValue("@observaciones_p", observaciones.ToString());
ins.Parameters.AddWithValue("@detalles_p", detalles.ToString());
ins.ExecuteNonQuery(); ----------- > ME GENERA ERROR AQUI


MessageBox.Show("Registro Exitoso", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
conexionObjeto.connClose();
}
el error que me indica es el siguiente :
'Procedure or function 'CALL pa_remisiones_insertar' cannot be found in database 'almacen'. Verify that user 'root'@'localhost' has enough privileges to execute.'

por mi parte ya verifique los privilegios en MYSQL y todo correcto
alguna orientación que me puedan dar o idea por favor ?
saludos!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 326
Plata
Ha mantenido su posición en C sharp (en relación al último mes)
Gráfica de C sharp

Procedimiento Almacenado (Mysql) con c#

Publicado por Miguel (143 intervenciones) el 24/08/2021 20:43:13
Me parece que sale sobrando CALL

MySqlCommand("CALL pa_r...

la declaracion puede ser:

MySqlCommand("pa_remisiones_insertar", conexionObjeto._conexion);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Procedimiento Almacenado (Mysql) con c#

Publicado por Ernesto Felipe (2 intervenciones) el 24/08/2021 21:16:23
es correcto amigo aunque lo realice de la siguiente manera tambien
public void insertarDato()
{
//valida apertura de conexión
if (conexionObjeto.connOpen() == true)
{

insercion = "CALL pa_remisiones_insertar('" + id + "','" + cliente + "','" + proveedor + "','" + recibo + "','" + numFactura + "','" + modelo + "','" + serie +
"','" + remision + "','" + admision + "','" + observaciones + "','" + detalles + "')";
MySqlCommand ins = new MySqlCommand(insercion, conexionObjeto._conexion);
ins.ExecuteNonQuery();
MessageBox.Show("Registro Exitoso", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
conexionObjeto.connClose();
}

de ambas maneras quedan
mil gracias por hacerme notar el error
Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 326
Plata
Ha mantenido su posición en C sharp (en relación al último mes)
Gráfica de C sharp

Procedimiento Almacenado (Mysql) con c#

Publicado por Miguel (143 intervenciones) el 25/08/2021 18:29:01
Te recomiendo que lo implementes como al principio, ya que solo llamas un SP y envias sus parametros es mas
legible, y mantenible
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar