C# 执行存储过程

      SqlParameter[] paras = BuildParas(id, time, name);

      bool bRet = ExcuteProcedure(“数据库连接字符串”, "存储过程名", paras, "表名");

      public static SqlParameter[] BuildParas(string Id, DateTime Time, string Name)
      {
          SqlParameter[] paras = new SqlParameter[3];
          SqlParameter para1 = new SqlParameter();
          para1.Direction = ParameterDirection.Input;
          para1.ParameterName = "@pid";
          para1.SqlDbType = SqlDbType.VarChar;
          para1.Size = 32;
          para1.Value = Id;
          paras[0] = para1;

          SqlParameter para2 = new SqlParameter();
          para2.Direction = ParameterDirection.Input;
          para2.ParameterName = "@ptime";
          para2.SqlDbType = SqlDbType.DateTime;
          para2.Value = DateTime.Parse(Time);
          paras[1] = para2;

          SqlParameter para3 = new SqlParameter();
          para3.Direction = ParameterDirection.Input;
          para3.ParameterName = "@pname";
          para3.SqlDbType = SqlDbType.VarChar;
          para3.Size = 20;
          para3.Value = Name;
          paras[2] = para3;

          return paras;

      }

      public static bool ExcuteProcedure(string strDataBaseInfo, string procedureName, SqlParameter[] paras, string strTableName)
      {
          bool bRet = false;
          SqlCommand cmd = null;
          SqlConnection con = new SqlConnection(strDataBaseInfo);
          try
          {
              con.Open();
              cmd = new SqlCommand("select count(*) from " + strTableName + " where id='" + paras[0].Value.ToString() + "'", con);//目的是保证id唯一
              int nExistCount = int.Parse(cmd.ExecuteScalar().ToString());//查询结果的第一行的第一列
              if (nExistCount > 0)
              {
                  return true;
              }
              cmd = null;
              cmd = new SqlCommand(procedureName, con);
              cmd.CommandType = CommandType.StoredProcedure;
              cmd.Parameters.Clear();
              if (paras != null && paras.Length > 0)
              {
                  for (int i = 0; i < paras.Length; i++)
                  {
                      cmd.Parameters.Add(paras[i]);
                  }
              }
              int nCount = cmd.ExecuteNonQuery();
              if (nCount != -1)
              {
                  bRet = true;
              }
          }
          catch (Exception ex)
          {
              

          }
          finally
          {
              if (cmd != null)
                  cmd.Parameters.Clear();
              if (con.State == ConnectionState.Open)
                  con.Close();
          }
          return bRet;

      }

转载于:https://www.cnblogs.com/xiaogongzhu/p/3828541.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C是一种面向过程的编程语言,于1972年由美国贝尔实验室的丹尼斯·里奇(Dennis Ritchie)发明。最初是为了设计和开发UNIX操作系统而创建的。C语言具有高效、简洁、灵活等特点,成为了广泛使用的编程语言之一。 C语言拥有丰富的语法和各种功能,可以方便地进行底层的计算机编程。它提供了基本的控制结构,如循环、条件语句和分支语句,使编程过程更加灵活和可控。此外,C语言还支持函数和指针的使用,这使得程序员能够编写出高效、可重用的代码。 C语言在计算机领域有广泛的应用。它被用于开发操作系统、编译器、网络设备、嵌入式设备等重要的系统软件和硬件。C语言还可以用于编写各种应用程序,如数据库系统、图形界面、游戏等。许多编程语言和软件都是基于C语言的。 C语言的学习曲线相对较陡峭,需要掌握较多的语法规则和编程概念。但一旦掌握了C语言的核心概念和基本技能,将可以更好地理解和应用其他高级编程语言。 在编写程序时,C语言要求程序员有良好的逻辑思维和问题解决能力。它注重程序的效率和可维护性,在开发大型项目时能够更好地处理复杂的逻辑问题。 总之,C语言是一种值得学习和掌握的编程语言。它具有广泛的应用领域和丰富的功能,不仅可以帮助开发者更好地理解计算机底层,还能够编写高效和可重用的程序。无论是学习编程的初学者,还是专业的程序员,都可以从中受益。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值