C#Cómo llamar al parámetro mysql del procedimiento almacenado
* 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
SELECT * FROM PROCE
WHERE @v1gt; 0 AND @v2gt 0
GO
Llame a C#; / p>
String ConnStr = ConfigurationManager.ConnectionStrings["Connection"].ConnectionString;
usando (SqlConnection conn = new SqlConnection(ConnStr))
{
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 del Procedimiento
new SqlParameter("@v2", SqlDbType.NVarChar, 50), //El segundo parámetro de entrada del Procedimiento
};
parámetros[0] . Valor = "1";
parámetros[1].Value = "2";
cmd.Parameters.Add(parameters[0]); //O directamente cmd. .Add( "@v1", SqlDbType.NVarChar, 50);
cmd.Parameters.Add(parámetros[1]);
conn.Open(); >
p>
SqlDataAdapter ad = nuevo SqlDataAdapter(cmd);
DataSet ds = nuevo DataSet()
ad.Fill(ds); >
this.GridView1.DataSource = ds.Tables[0];
this.GridView1.DataBind();
}
2. También hay valores de retorno
Procedimiento:
USE [biyi]
GO
create proc TEST3 (@v1 nvarchar(50) , @ v2 nvarchar(50))
as
if @v1 gt; @v2
devuelve 1
en caso contrario, devuelve 2
GO
Llame a C#:
usando (SqlConnection conn = new SqlConnection(ConnStr))
{
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< / p>
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].Valor = "1";
parámetros[1].Valor = "2";
parámetros[2].Direction = ParameterDirection.ReturnValue;
cmd.Parameters.Add(parámetros[0]);
cmd.Parameters.Add(parámetros [1]);
cmd.Parameters.Add(parámetros[2]);
conn.Open();
cmd.ExecuteNonQuery();
Etiqueta1.Texto = pa
parámetros[2].Value.ToString();
}