asp.net中IDataParameter调用存储过程的实现方法

  public string GenerateExamePaper(string paperType, string driverID, string MacAddr)

  {

  int i;

  IDataParameter[] iData = new SqlParameter[4];

  iData[0] = new SqlParameter("@paperType", paperType);

  iData[1] = new SqlParameter("@driverID", driverID);

  iData[2] = new SqlParameter("@MacAddr", MacAddr);

  iData[3] = new SqlParameter("@sReturn", SqlDbType.Char, 50, ParameterDirection.Output, false, 0, 0, string.Empty, DataRowVersion.Default,null);

  string aaa = "";

  i= DbHelperSQL.RunProcedureParOut("Pro_GenerateExamePaper", iData, out aaa).ToString();

  return aaa;

  }

  ///

  /// 执行存储过程,返回影响的行数

  ///

  /// 存储过程名

  /// 存储过程参数

  /// 影响的行数

  /// 返回output值

  ///

  public static int RunProcedure(string storedProcName, IDataParameter[] parameters, out int rowsAffected,out str)

  {

  using (SqlConnection connection = new SqlConnection(connectionString))

  {

  int result;

  connection.Open();

  SqlCommand command = BuildIntCommand(connection, storedProcName, parameters);

  rowsAffected = command.ExecuteNonQuery();

  result = (int)command.Parameters["ReturnValue"].Value;

  str= (int)command.Parameters["@sReturn"].Value;

  return result;

  }

  }