好学IT学院:IT信息技术分享交流平台
标签:C#  来源:互联网  作者:本站整理  发布时间:2008-05-08  ★★★加入收藏〗〖手机版
摘要:参考示例过程原代码:/// summary /// 存储过程执行函数 /// /summary /// param name="strSpName"存储过程名/param /// param name="ht"参数信息集/param ///……

参考示例过程原代码:

/// <summary> 
  /// 存储过程执行函数 
  /// </summary> 
  /// <param name="strSpName">存储过程名</param> 
  /// <param name="ht">参数信息集</param> 
  /// <param name="strParameterArray">需返回的参数名数组</param> 
  /// <returns>存有返回值的HashTable</returns>

public void ExecStoredProcedure(string strSpName,Hashtable ht,string[] strParameterArray) 
  { 
   SqlCommand comm = new SqlCommand(strSpName,Conn); 
   comm.CommandType = CommandType.StoredProcedure;   
   IDictionaryEnumerator htEnumerator = ht.GetEnumerator(); 
   while (htEnumerator.MoveNext()) 
  comm.Parameters.Add(htEnumerator.Key.ToString(),htEnumerator.Value);   foreach (string strParameterName in strParameterArray) 
  comm.Parameters[strParameterName].Direction = ParameterDirection.Output;
   try 
   { 
  OpenConn();  //打开数据库链接 
  comm.ExecuteNonQuery(); 
   } 
   finally 
   { 
  CloseConn(); //关闭数据库链接 
   }
ht.Clear(); 
   foreach (string strParameterName in strParameterArray) 
  ht.Add(strParameterName,comm.Parameters[strParameterName].Value); 
  }

/// <summary> 
  /// 存储过程执行函数 
  /// </summary> 
  /// <param name="strSpName">存储过程名</param> 
  /// <param name="ht">参数信息集</param> 
  public void ExecStoredProcedure(string strSpName,Hashtable ht) 
  { 
   SqlCommand comm = new SqlCommand(strSpName,Conn); 
   comm.CommandType = CommandType.StoredProcedure;   IDictionaryEnumerator htEnumerator = ht.GetEnumerator(); 
   while (htEnumerator.MoveNext()) 
  comm.Parameters.Add(htEnumerator.Key.ToString(),htEnumerator.Value);   try 
   { 
  OpenConn(); //打开数据库链接 
  comm.ExecuteNonQuery(); 
   } 
   finally 
   { 
  CloseConn(); //关闭数据库链接 
   }   
  }
调用方法:

Hashtable ht = new Hashtable();
  ht.Add("@variable_1","参数1");
  ht.Add("@variable_2","参数2");
  ht.Add("@variable_3","参数3");

//带返回数据
  string[] variableList = {"@variable_2","@variable_3"};
  ExecStoredProcedure("存储过程名",Hashtable ht,variableList);

//返回数据在Hashtable ht相对应的键中  //不带返回数据
  ExecStoredProcedure("存储过程名",Hashtable ht);
  //ExecStoredProcedure方法是一个2次重载的方法

微软MTS三层应用系统开发技术概述
  MTS是一种以Microsoft COM(对象模型组件)技术为基础,并且以服务器为中心的三层应用系统开发技术。对于MTS应用系统而…
  • 好学考试H5触屏版开放内测
  • 好学触屏公众号虎力全开、杨帆起航!