| 
                           /// <summary>  /// 执行存储过程并返回结果集  /// </summary>  /// <param>存储过程名</param>  /// <returns>DataSet</returns>  public DataSet RunProcedure(string storedProcName)  {  DataSet ds = new DataSet();  try  {  this.Open();  cmd.CommandText = storedProcName;  cmd.CommandType = CommandType.StoredProcedure;  Adapter.SelectCommand = cmd;  //Adapter.SelectCommand.CommandTimeout = 1200;//可以设置适当的超时时间(秒),避免选择时间段过大导致填充数据集超时  Adapter.Fill(ds);  }  catch (Exception ex)  {  throw ex;  }  finally  {  this.Close();  }  return ds;  }  /// <summary>  /// 执行存储过程,方法不返回结果集  /// </summary>  /// <param></param>  public void RunVoidProcedure(string storedProcName)  {  cmd.CommandText = storedProcName;  cmd.CommandType = CommandType.StoredProcedure;  try  {  this.Open();  cmd.ExecuteNonQuery();  }  catch (Exception ex)  {  throw ex;  }  finally  {  this.Close();  }  } 
    下面说两个反射方法,测试之后为了方便调用,减少操作添加的,一个是把实体类的属性转换为参数,另一个是把从数据库取出的某条记录转换为实体类,这两个还是非常有用,尤其是在系统开发时调用比较方便,以前我是见到反射就绕道走的,这次算是第一次用反射,发现确实是很方便。如下: 
 复制代码 代码如下:   /// <summary>  /// 将实体类的属性进行参数转换(ORACLE测试通不过,必须要求所有参数都包含在语句中才行)  /// </summary>  /// <param></param>  /// <param></param>  //public void ConvertToParameters(object model, DbParameterCollection ParaCollect)  //{  // Type T = model.GetType();  // PropertyInfo[] propert = T.GetProperties();  // for (int i = 0; i < propert.Length; i++)  // {  // AddParam(propert[i].Name, propert[i].GetValue(model, null), ParaCollect);  // }  /                         (编辑:泰州站长网) 
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! 
                     |