//internal ColumnInfo(DB2DataReader reader) //{ // ColumnNumber = Convert.ToInt32(reader.GetValue(reader.GetOrdinal("COLNO"))); // SqlColumnType = Convert.ToString(reader.GetValue(reader.GetOrdinal("COLTYPE"))); // DotNetColumnType = GetTypeFromDB2(SqlColumnType); // IsPrimary = !string.IsNullOrWhiteSpace(Convert.ToString(reader.GetValue(reader.GetOrdinal("KEYSEQ")))); // Name = Convert.ToString(reader.GetValue(reader.GetOrdinal("NAME"))); // Remarks = Convert.ToString(reader.GetValue(reader.GetOrdinal("REMARKS"))); //} internal ColumnInfo(DataRow data) { var baseColumnType = Convert.ToString(data.Field <object>("COLTYPE")).Trim(); ColumnNumber = Convert.ToInt32(data.Field <object>("COLNO")); SqlColumnType = $"{baseColumnType} [{data.Field<object>("LENGTH")}]"; DotNetColumnType = DB2TypeFactory.GetTypeFromDB2(baseColumnType); IsPrimary = !string.IsNullOrWhiteSpace(Convert.ToString(data.Field <object>("KEYSEQ"))); Name = Convert.ToString(data.Field <object>("COLNAME")); Remarks = Convert.ToString(data.Field <object>("COLREMARKS")); }
public StoredProcedureParameterInfo(string parameterText) { var match = _parameterRegex.Match(parameterText); if (!match.Success) { throw new Exception("Invalid parameter text."); } if (match.Groups["ParameterModifier"].Success) { DirectionText = match.Groups["ParameterModifier"].Value; } else { DirectionText = "IN"; } if (DirectionText == "IN") { Direction = System.Data.ParameterDirection.Input; } if (DirectionText == "INOUT") { Direction = System.Data.ParameterDirection.InputOutput; } if (DirectionText == "OUT") { Direction = System.Data.ParameterDirection.Output; } Name = match.Groups["ParameterName"].Value; DB2Type = match.Groups["ParameterType"].Value; DotNetType = DB2TypeFactory.GetTypeFromDB2(DB2Type); DotNetModifier = DB2TypeFactory.GetModifierFromDB2(DirectionText); }