存储过程的使用

最近老是使用到存储过程,于是就写了个方法执行存储过程,感觉还可以就发上来大家一起看看,不知道还有没有什么更好的方法的:

  1.  /// <summary>
  2.     /// 返回值的存储过程的执行
  3.     /// </summary>
  4.     /// <param name="ProcedureName">存储过程的名称</param>
  5.     /// <param name="myPara">存储过程中的参数</param>
  6.     /// <returns>执行的结果</returns>
  7.     public static bool ExecuteProcInt(string ProcedureName, params SqlParameter[] myPara)
  8.     {
  9.         using (SqlConnection conn = SqlConn())
  10.         {
  11.             SqlCommand myCommand = new SqlCommand(ProcedureName, conn);
  12.             myCommand.CommandType = CommandType.StoredProcedure;
  13.             foreach (SqlParameter s in myPara)
  14.             {
  15.                 myCommand.Parameters.Add(s);
  16.             }
  17.             conn.Open();
  18.             if ((int)myCommand.ExecuteScalar() > 0)
  19.             {
  20.                 conn.Close();
  21.                 return true;
  22.             }
  23.             else
  24.             {
  25.                 conn.Close();
  26.                 return false;
  27.             }
  28.         }
  29.     }
  30.     /// <summary>
  31.     /// 存储过程的执行
  32.     /// </summary>
  33.     /// <param name="ProcedureName">存储过程的名称</param>
  34.     /// <param name="myPara">存储过程中的参数</param>
  35.     /// <returns>执行的结果</returns>
  36.     public static bool ExecutePro(string ProcedureName, params SqlParameter[] myPara)
  37.     {
  38.         using (SqlConnection conn = SqlConn())
  39.         {
  40.             SqlCommand myCommand = new SqlCommand(ProcedureName,conn);
  41.             myCommand.CommandType = CommandType.StoredProcedure;
  42.             foreach (SqlParameter s in myPara)
  43.             {
  44.                 myCommand.Parameters.Add(s);
  45.             }
  46.             try
  47.             {
  48.                 conn.Open();
  49.                 myCommand.ExecuteNonQuery();
  50.                 return true;
  51.             }
  52.             catch
  53.             {
  54.                 return false;
  55.             }
  56.             finally
  57.             {
  58.                 conn.Close();
  59.             }
  60.         }
  61.     }
  62. 在使用的时候:
    1.         SqlParameter[] myParaName = new SqlParameter[] { new SqlParameter("@UserName", txtuid.Text) };
    2.         SqlParameter[] myParaLogin = new SqlParameter[] { new SqlParameter("@UserName", txtuid.Text), new SqlParameter("@PassWord", txtpwd.Text) };
    3.         if (Sql.ExecuteProcInt("CheckName", myParaName) != true)
    4.         {
    5.             ltuid.Text = "用户名不存在";
    6.         }
    7.         else
    8.         {
    9.             if (Sql.ExecuteProcInt("CheckLogin", myParaLogin) != true)
    10.             {
    11.                 ltpwd.Text = "密码错误";
    12.             }
    13.             else
    14.             {
    15.                 Response.Redirect("Main.aspx");
    16.             }
    17.         }  
    18. 把存储过程的名称,存储过程中所定义的变量,还有变量的实际值传给函数就可以了啊!
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值