
下面是内存溢出 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#调用存储过程,用函数合理组织代码,使程序更加的清晰(示例)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)