public static string GetStoredProcedureParameterValueAndDataTypeString(StoredProcedure storedProcedure) { StringBuilder result = new StringBuilder(100); for (int i = 0; i < storedProcedure.Parameters.Length; i++) { if (i > 0) { result.Append(", "); } StoredProcedure.Parameter parameter = storedProcedure.Parameters[i]; string alias = Script.GetCamelCase(parameter.Alias); string modifier = ""; if (parameter.Direction.ToLower().IndexOf("out") >= 0) { modifier = "ref "; } result.AppendFormat("{0}{1} {2}", modifier, CSharp.GetDataType(parameter.DataType, false), alias); } return(result.ToString()); }
public List<StoredProcedure> GetScalarFunctionCollection() { List<StoredProcedure> _fns = new List<StoredProcedure>(); IDataReader rdr = GetScalarFunctionRdr(); while (rdr.Read()) { StoredProcedure sp = new StoredProcedure( rdr[SqlSchemaVariable.SCHEMA_NAME].ToString(), rdr[SqlSchemaVariable.NAME].ToString()); sp.sqlType = rdr[SqlSchemaVariable.DATA_TYPE].ToString(); sp.dbType = GetDbType(sp.sqlType); _fns.Add(sp); } rdr.Close(); foreach (StoredProcedure sp in _fns) { rdr = GetSPParams(sp.Name); while (rdr.Read()) { StoredProcedure.Parameter par = new StoredProcedure.Parameter(); SetParameter(rdr, par); par.QueryParameter = MakeParam(par.Name); par.DisplayName = Utility.GetParameterName(par.Name); sp.Parameters.Add(par); } rdr.Close(); } return _fns; }
public List<StoredProcedure> GetTableFunctionCollection() { List<StoredProcedure> _fns = new List<StoredProcedure>(); string[] fns = GetFunctionNameList(); foreach (string s in fns) { string[] a = Regex.Split(s, @"\."); StoredProcedure sp = new StoredProcedure(a[0], a[1]); sp.ClassName = Db.Service.GetSchema(a[1], TableType.Function).ClassName; //get the params IDataReader rdr = GetSPParams(a[1]); while (rdr.Read()) { StoredProcedure.Parameter par = new StoredProcedure.Parameter(); SetParameter(rdr, par); par.QueryParameter = MakeParam(par.Name); par.DisplayName = Utility.GetParameterName(par.Name); sp.Parameters.Add(par); } for (int i = 0; i < sp.Parameters.Count; i++) rdr.Close(); _fns.Add(sp); } return _fns; }
public List<StoredProcedure> GetStoredProcedureCollection() { List<StoredProcedure> sps = GetSPList(); foreach (var sp in sps) { var rdr = GetSPParams(sp.Name); while (rdr.Read()) { var par = new StoredProcedure.Parameter(); SetParameter(rdr, par); par.QueryParameter = MakeParam(par.Name); par.DisplayName = Utility.GetParameterName(par.Name); sp.Parameters.Add(par); } rdr.Close(); } return sps; }
public static string GetDataType(StoredProcedure.Parameter parameter) { bool isNullable = false; // TODO: need to add a property to Parameters that specify whether they are nullable (have default values). return(CSharp.GetDataType(parameter.DataType, isNullable)); }