使用C#调用存储过程,用函数合理组织代码,使程序更加的清晰(示例)

使用C#调用存储过程,用函数合理组织代码,使程序更加的清晰(示例),第1张

概述使用C#调用存储过程,用函数合理组织代码,使程序更加的清晰(示例)

下面是内存溢出 jb51.cc 通过网络收集整理的代码片段。

内存溢出小编现在分享给大家,也给大家做个参考。

    using System;      using System.Collections.Generic;      using System.linq;      using System.Text;      using System.Data;      using System.Data.sqlClIEnt;            namespace 使用存储过程      {          class Program          {              //配置连接字符串              public static string ConnString = @"Data Source=Q-PC\sqlEXPRESS;Integrated Security=sspI;uID=sa;pwd=;Initial Catalog=hangyun";              static voID Main(string[] args)              {                  Program p = new Program();                        sqlParameter[] parms = new sqlParameter[] //为存储过程配置参数                  {                       new sqlParameter("@parms0",sqlDbType.NVarChar),new sqlParameter("@parms1",.                                         .                                         .                                         .                  };                  //为参数赋值                  parms[0].Value=需要传入存储过程中的值                  parms[1].Value=                  parms[2].Value=                        .                        .                        .                        .                        p.ExcStoreNonquery(CommandType.StoredProcedure,"QHC_DomesticCompanyManage",parms);                  Console.Readline();              }                   #region 存储过程执行更新              ///<summary>              ///执行一个不需要返回值的sqlCommand命令,通过指定专用的连接字符串。              /// 使用参数数组形式提供参数列表               /// </summary>              /// <remarks>              /// 使用示例:              ///  int result = ExcStoreNonquery(connString,CommandType.StoredProcedure,"PublishOrders",new sqlParameter("@prodID",24));              /// </remarks>              /// <param name="connectionString">一个有效的数据库连接字符串</param>              /// <param name="commandType">sqlCommand命令类型 (存储过程, T-SQL语句, 等等。)</param>              /// <param name="commandText">存储过程的名字或者 T-sql 语句</param>              /// <param name="commandParameters">以数组形式提供sqlCommand命令中用到的参数列表</param>              /// <returns>返回一个数据值表示此sqlCommand命令执行后影响的行数</returns>              public int ExcStoreNonquery(string connString,CommandType cmdType,string cmdText,params sqlParameter[] commandParameters)              {                  sqlCommand cmd = new sqlCommand();                  sqlConnection conn = new sqlConnection(ConnString);                  try                  {                      //通过PrePareCommand方法将参数逐个传入到sqlCommand的参数集合中                      PrepareCommand(cmd,conn,null,cmdType,cmdText,commandParameters);                      int val = cmd.ExecuteNonquery();                      //清空sqlCommand中的参数列表                      cmd.Parameters.Clear();                      return val;                  }                  catch (Exception e)                  {                      throw new Exception("执行任务失败:" + e.Message + "   " + cmdText);                        }                  finally                  {                      cmd.dispose();                      conn.Close();                      conn = null;                  }              }              #endregion                   #region 存储过程执行查询              /// <summary>              /// 执行一条返回结果集的sqlCommand,通过一个已经存在的数据库连接              /// 使用参数数组提供参数              /// </summary>              /// <remarks>              /// 使用示例:              /// Datatable table=StoreGettable(conn,"PublishOrders");              /// </remarks>              /// <param name="connecttionString">一个现有的数据库连接</param>              /// <param name="cmdTye">sqlCommand命令类型</param>              /// <param name="cmdText">存储过程的名字或者 T-sql 语句</param>              /// <returns>返回一个表(Datatable)表示查询得到的数据集</returns>              public Datatable StroreGettable(CommandType cmdTye,params sqlParameter[] commandParameters)              {                  sqlCommand cmd = new sqlCommand();                  Datatable ds = new Datatable();                  sqlConnection conn = new sqlConnection(ConnString);                  try                  {                      PrepareCommand(cmd,cmdTye,commandParameters);                      sqlDataAdapter adapter = new sqlDataAdapter();                      adapter.SelectCommand = cmd;                      adapter.Fill(ds);                      //返回一个表集                      return ds;                  }                  catch (Exception e)                  {                      throw new Exception("执行任务失败:" + e.Message + "   " + cmdText);                        }                  finally                  {                      cmd.dispose();                      conn.Close();                      conn = null;                  }              }              #endregion                   #region 为执行命令准备参数              ///<summary>              ///为执行命令准备参数              ///</summary>              ///<param name="cmd">sqlcommang命令</param>              ///<param name="conn">已经存在的数据库连接</param>              ///<param name="trans">数据库事物处理</param>              ///<param name="cmdType">sqlCommand命令类型(存储过程,T-SQL语句,等等。)</param>              ///<param name="cmdText">Command text,T-SQL语句,例如:Select * from sufei</param>              ///<param name="cmdParms">返回带参数的命令</param>              private static voID PrepareCommand(sqlCommand cmd,sqlConnection conn,sqlTransaction trans,sqlParameter[] cmdParms)              {                  //判断数据库连接状态                  if (conn.State != ConnectionState.Open)                      conn.open();                  cmd.Connection = conn;                  cmd.CommandText = cmdText;                  //判断是否需要事物处理                  if (trans != null)                  {                      cmd.Transaction = trans;                  }                        cmd.CommandType = cmdType;                        if (cmdParms != null)                  {                      foreach (sqlParameter parm in cmdParms)                          cmd.Parameters.Add(parm);                  }              }              #endregion          }      }turnValue Output   

以上是内存溢出(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

总结

以上是内存溢出为你收集整理的使用C#调用存储过程,用函数合理组织代码,使程序更加的清晰(示例)全部内容,希望文章能够帮你解决使用C#调用存储过程,用函数合理组织代码,使程序更加的清晰(示例)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1237818.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-06
下一篇2022-06-06

发表评论

登录后才能评论

评论列表(0条)

    保存