public override List<ProcedureParameter> GetProcedureParameters() { string sql = @"select decode(t.package_name,null,t.object_name,t.package_name || '.' || t.object_name) || t.overload ProcedureName, " + " t.argument_name ParameterName,t.data_length Length,t.in_out InOut,t.data_type ParameterType " + "from user_arguments t " + " order by t.package_name,t.object_name "; this.Database.Connection.Open(); DataTable procedureParameterTable = this.Database.ExecuteDataTable(sql, false); this.Database.Connection.Close(); List<ProcedureParameter> procedureParameters = new List<ProcedureParameter>(); foreach (DataRow row in procedureParameterTable.Rows) { ProcedureParameter parameter = new ProcedureParameter(); parameter.ProcedureName = row["ProcedureName"].ToString(); parameter.ParameterName = row["ParameterName"].ToString(); parameter.ParameterType = row["ParameterType"].ToString(); parameter.Length = row["Length"].ToString(); parameter.IsOutput = row["InOut"].ToString(); procedureParameters.Add(parameter); } return procedureParameters; }
public virtual List<ProcedureParameter> GetProcedureParameters() { string sql = @"select a.name ProcedureName,c.name ParameterName,c.length Length,c.isoutparam IsOutput,d.name ParameterType " + "from sysobjects a " + "left join syscomments b on a.id = b.id " + "left join syscolumns c on a.id = c.id " + "left join systypes d on c.xtype = d.xtype " + "where (a.type='P'or a.type='FN') and a.status<>1 and d.name<>'sysname' order by a.name asc"; this.Database.Connection.Open(); DataTable procedureParameterTable = this.Database.ExecuteDataTable(sql, false); this.Database.Connection.Close(); List<ProcedureParameter> procedureParameters = new List<ProcedureParameter>(); foreach (DataRow row in procedureParameterTable.Rows) { ProcedureParameter parameter = new ProcedureParameter(); parameter.ProcedureName = row["ProcedureName"].ToString(); parameter.ParameterName = row["ParameterName"].ToString(); parameter.ParameterType = row["ParameterType"].ToString(); parameter.Length = row["Length"].ToString(); parameter.IsOutput = row["IsOutput"].ToString(); procedureParameters.Add(parameter); } return procedureParameters; }
public override List<ProcedureParameter> GetProcedureParameters() { string parameterSql=@"SELECT SPECIFIC_NAME AS PROCEDURE_NAME,DATA_TYPE, PARAMETER_MODE,PARAMETER_NAME FROM INFORMATION_SCHEMA.parameters WHERE SPECIFIC_SCHEMA='{0}' "; DataTable procedureParameterTable = GetTable(parameterSql); var procedureParameters = new List<ProcedureParameter>(); foreach (DataRow row in procedureParameterTable.Rows) { var parameter = new ProcedureParameter(); parameter.ProcedureName = row["PROCEDURE_NAME"].AsString(); parameter.ParameterName = row["PARAMETER_NAME"].AsString(); parameter.ParameterType = row["DATA_TYPE"].AsString(); parameter.IsOutput = string.Equals(row["PARAMETER_MODE"].AsString(), "OUT") ? "1" : "0"; procedureParameters.Add(parameter); } return procedureParameters; }