C# 调用SQL存储过程

好久没用过都忘了  写下了

public static SqlDataReader GetReader(int id)
{
SqlCommand cmd=new SqlCommand();
cmd.Connection=Connection;
cmd.CommandType=CommandType.StroedProcedure;
cmd.CommandText="procUserByUserIDSelect";        //存储过程名
SqlParameter sp=new SqlParameter("@userID",SqlDbType.Int);
sp.Value=id;
cmd.Parameters.Add(sp);
SqlDataReader reader=cmd.ExecuterReader();
return reader;
}

public static string GetName(int id)
{
SqlCommand cmd=new SqlCommand("procUserNameByUserId",Connection);
cmd.CommandType=CommandType.StroedProcedure;
cmd.Parameters.Add("@userID",SqlDbType.Int);
cmd.Parameters.Add("@userName",SqlDbType.Varchar,20);
cmd.Parameters["@userName"].Direction=ParameterDirection.Output; //设置为输出参数
cmd.Parameters["@userID"].Value=id;
cmd.ExecuteNonQuery();
string name=cmd.Parameters["@userName"].Value.ToString();
retrun name;
}


public static int GetScalar(string name,int age)
{
SqlCommand cmd=new SqlCommand();
cmd.Connection=Connection;
cmd.CommandType=CommandType.StroedProcedure;
cmd.CommandText="procUserByInsert";        //存储过程名
cmd.Parameters.Add("@userName",SqlDbType.Varchar,20);
cmd.Parameters.Add("@userAge",SqlDbType.Int);
cmd.Parameters["@userName"].Value=name;
cmd.Parameters["@userAge"].Value=age;
int result=Convert.ToInt32(cmd.ExecuteScalar());
return result;
}

你可能感兴趣的:(存储过程;C#;调用;)