예제 #1
0
        /// <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;
            }
        }
예제 #2
0
        /// <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();
        }
예제 #3
0
        /// <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);
        }
예제 #4
0
 /// <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)
 {
 }