当前位置:首页 > 网络编程 > WEB编程 > ASP.net >  net中统一的存储过程调用方法 4

 net中统一的存储过程调用方法 4

点击次数:21 次 发布日期:2008-11-26 10:45:35 作者:源代码网
源代码网推荐      参数
源代码网推荐  
源代码网推荐   myParameter = new SqlParameter();
源代码网推荐  
源代码网推荐   myParameter.ParameterName = "@Value";
源代码网推荐  
源代码网推荐  myParameter.SqlDbType = SqlDbType.Int;
源代码网推荐  
源代码网推荐  myParameter.Direction = ParameterDirection.ReturnValue;
源代码网推荐  
源代码网推荐  myCommand.Parameters.Add(myParameter);
源代码网推荐  
源代码网推荐  int i = 0; // 创建各个参数,在这个地方可以自动的创建SqlParameter的类型,值,方向等属性
源代码网推荐  
源代码网推荐   while(reader.Read())
源代码网推荐  
源代码网推荐   {
源代码网推荐  
源代码网推荐  myParameter = new SqlParameter();
源代码网推荐  
源代码网推荐  myParameter.ParameterName = reader["PARAMETER_NAME"].ToString();
源代码网推荐  
源代码网推荐   myParameter.Direction = reader["PARAMETER_MODE"].ToString()=="IN"?ParameterDirection.Input:ParameterDirection.Output;
源代码网推荐  
源代码网推荐   switch(reader["DATA_TYPE"].ToString()) {
源代码网推荐  
源代码网推荐   case "int" :
源代码网推荐  
源代码网推荐   if(myParameter.Direction == ParameterDirection.Input)
源代码网推荐  
源代码网推荐   myParameter.Value = (int)parameters[i];
源代码网推荐  
源代码网推荐  myParameter.SqlDbType = SqlDbType.Int;
源代码网推荐  
源代码网推荐   break; //...省略了很多具体的类型处理
源代码网推荐  
源代码网推荐  default : break; }
源代码网推荐  
源代码网推荐   i++;
源代码网推荐  
源代码网推荐   myCommand.Parameters.Add(myParameter);
源代码网推荐  
源代码网推荐   }
源代码网推荐  
源代码网推荐  }
源代码网推荐  3.2返回结果数据集、返回值、传出参数集
源代码网推荐  创建好存储过程的参数之后,我们就可以调用这个存储过程了。由于在.NET中,常用的返回结果集的类为SqlDataReader和DataSet,而SqlDataReader必须在保持连接的状态下才可以使用,DataSet却不需要。在我们的实现中,连接应该在调用之后就断开,因此采用DataSet来保存返回结果集。
源代码网推荐  
源代码网推荐  
源代码网推荐  public SqlResult Call(params object[] parameters){ // SqlResult是自己定义的用于保存结果数据集、返回值、传出参数集的类 SqlResult result = new SqlResult(); // 根据需要定义自己的连接字符串
源代码网推荐  
源代码网推荐  myConnection = new SqlConnection(ConnectionString);
源代码网推荐  
源代码网推荐  myCommand = new SqlCommand(this.ProcedureName, myConnection);
源代码网推荐  
源代码网推荐  myCommand.CommandType = CommandType.StoredProcedure;
源代码网推荐  
源代码网推荐  SqlDataAdapter myAdapter = new SqlDataAdapter(myCommand);
源代码网推荐  
源代码网推荐  myConnection.Open(); // 获得和创建存储过程的参数,并且设置好值
源代码网推荐  
源代码网推荐   GetProcedureParameter(parameters);
源代码网推荐  
源代码网推荐  myAdapter.Fill(result.dataSet, "Table"); // 获得存储过程的传出参数值和名字对,保存在一个Hashtable中 GetOutputValue(result); // 在这里释放各种资源,断开连接
源代码网推荐  
源代码网推荐  myAdapter.Dispose();
源代码网推荐  
源代码网推荐  myCommand.Dispose();
源代码网推荐  
源代码网推荐  myConnection.Close();
源代码网推荐  
源代码网推荐  myConnection.Dispose();
源代码网推荐  
源代码网推荐  return result;}
源代码网推荐  4.进一步工作
源代码网推荐  虽然我们在这里的实现是针对SQL
源代码网推荐  
源代码网推荐  
源代码网推荐    做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。
源代码网推荐


源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华