Cómo llamar al parámetro mysql del procedimiento almacenado en c#
* Utilice @@rowcount en el procedimiento para mostrar el número de filas afectadas por el comando anterior.
1 El procedimiento tiene parámetros de entrada y no tiene valor de retorno.
procedimiento. :
USE [biyi]
GO
crear proc TEST2 (@v1 nvarchar(50),@v2 nvarchar(50))
as
SELECCIONAR * DE PROCE
DONDE @v1>0 Y @v2>0
GO
Llamar a C#
p>String ConnStr = ConfigurationManager.ConnectionStrings["Connection"].ConnectionString;
usando (SqlConnection conn = new SqlConnection(ConnStr))
{ p>
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "TEST2";//El nombre del procedimiento es TEST2
cmd.CommandType = CommandType.StoredProcedure;
IDataParameter[] parámetros = {
new SqlParameter("@v1", c), //El primer parámetro de entrada de Procedimiento
new SqlParameter("@v2", SqlDbType.NVarChar,50), //El segundo parámetro de entrada del Procedimiento
};
parámetros[0 ] .Value = "1";
parámetros[1].Value = "2";
cmd.Parameters.Add(parameters[0]); //O directamente cmd Parameters.Add( "@v1",SqlDbType.NVarChar,50
cmd.Parameters.Add(parameters[1]);
conn.Open(); /p>
p>
SqlDataAdapter ad = nuevo SqlDataAdapter(cmd);
DataSet ds = nuevo DataSet();
ad.Fill(ds);
this.GridView1.DataSource = ds.Tables[0];
this.GridView1.DataBind();
}
2. El procedimiento tiene parámetros de entrada y valores de retorno
Procedimiento:
USE [biyi]
GO
crear proc TEST3 (@v1 nvarchar(50),@v2 nvarchar(50))
como
si @v1 > @v2
devuelve 1
else return 2
GO
Llamar a C#:
usando (SqlConnection conn = new SqlConnection(ConnStr)) p >
{
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "TEST3";/ / Nombre del procedimiento
cmd.CommandType = CommandType.StoredProcedure;
IDataParameter[] parámetros = {
new SqlParameter("@v1", SqlDbType.NVarChar, 50 ), //El primer parámetro de entrada del Procedimiento
new SqlParameter("@v2", SqlDbType.NVarChar,50), //El segundo parámetro de entrada del Procedimiento
new SqlParameter( "return", SqlDbType.NVarChar,50), //Valor de retorno
};
parámetros[0].Value = "1";
parámetros [1].Value = "2";
parámetros[2].Direction = ParameterDirection.ReturnValue;
cmd.Parameters.Add(parameters[0]); >
cmd.Parameters.Add(parámetros[1]);
cmd.Parameters.Add(parámetros[2]);
conn.Open() ; p>
cmd.ExecuteNonQuery();
Label1.Text = parámetros[2].Value.ToString();
}