/// <summary> /// Sets the parameter. /// </summary> /// <param name="dataReader">The data reader.</param> /// <param name="parameter">The parameter.</param> public override void SetParameter(IDataReader dataReader, StoredProcedure.Parameter parameter) { parameter.DBType = GetDbType(dataReader[1].ToString()); parameter.Name = dataReader[0].ToString(); ParameterDirection direction = (ParameterDirection)Enum.Parse(typeof(ParameterDirection), dataReader[2].ToString()); if (direction == ParameterDirection.InputOutput) { parameter.Mode = ParameterDirection.InputOutput; } }
/// <summary> /// Sets the parameter. /// </summary> /// <param name="dataReader">The data reader.</param> /// <param name="parameter">The parameter.</param> public override void SetParameter(IDataReader dataReader, StoredProcedure.Parameter parameter) { parameter.DBType = GetDbType(dataReader[OracleSchemaVariable.DATA_TYPE].ToString()); string sMode = dataReader[OracleSchemaVariable.MODE].ToString(); if (sMode == OracleSchemaVariable.MODE_INOUT) { parameter.Mode = ParameterDirection.InputOutput; } parameter.Name = dataReader[OracleSchemaVariable.NAME].ToString(); }
/// <summary> /// Gets the SP schema collection. /// </summary> /// <param name="providerName">Name of the provider.</param> /// <returns></returns> public static List <StoredProcedure> GetSPSchemaCollection(string providerName) { List <StoredProcedure> _sps = new List <StoredProcedure>(); string[] sps = GetSPList(providerName, true); DataProvider provider = Providers[providerName]; { Utility.WriteTrace(String.Format("Generating Stored Procedure collection for {0}", providerName)); int generatedSprocs = 0; foreach (string s in sps) { string spName = s; string spSchemaName = ""; int i = s.IndexOf('.'); if (i >= 0) { spName = s.Substring(i + 1); spSchemaName = s.Substring(0, i); } if (CodeService.ShouldGenerate(spName, provider.IncludeProcedures, provider.ExcludeProcedures, provider)) { //declare the sp StoredProcedure sp = new StoredProcedure(spName, provider, spSchemaName); //get the params using (IDataReader rdr = GetSPParams(spName, providerName)) { while (rdr.Read()) { StoredProcedure.Parameter par = new StoredProcedure.Parameter(); provider.SetParameter(rdr, par); par.QueryParameter = provider.FormatParameterNameForSQL(par.Name); par.DisplayName = Utility.GetParameterName(par.Name, provider); sp.Parameters.Add(par); } rdr.Close(); } _sps.Add(sp); generatedSprocs++; } } Utility.WriteTrace(String.Format("Finished! {0} of {1} procedures generated.", generatedSprocs, sps.GetLength(0))); } return(_sps); }
/// <summary> /// SQLite does not support Stored Procedures. /// </summary> /// <param name="dataReader">The data reader.</param> /// <param name="parameter">The parameter.</param> public override void SetParameter(IDataReader dataReader, StoredProcedure.Parameter parameter) { }