internal static CLRDataType ToCLRTypeCode(this SQLDataType sqlDataType) { switch (sqlDataType) { case SQLDataType.SMALLINT: return(CLRDataType.Int16); case SQLDataType.INT: return(CLRDataType.Int32); case SQLDataType.BIGINT: return(CLRDataType.Int64); case SQLDataType.SINGLE: return(CLRDataType.Single); case SQLDataType.DOUBLE: return(CLRDataType.Double); case SQLDataType.DECIMAL: return(CLRDataType.Decimal); case SQLDataType.TINYINT: return(CLRDataType.Byte); case SQLDataType.TEXT: return(CLRDataType.String); case SQLDataType.BOOLEAN: return(CLRDataType.Boolean); case SQLDataType.DATETIME: return(CLRDataType.DateTime); default: return(CLRDataType.Unsupported); } }
/// <summary> /// Creates a new SQLColumn instance /// </summary> public SQLColumn(string name, SQLDataType type) { Name = name; IsRowId = name.EqualsNoCase("rowid"); Type = type; DbType = type.ToDbTypeCode(); }
public ColumnDefinitionImpl(SQLVendorImpl vendor, String name, SQLDataType dt, String defaultVal, Boolean mayBeNull, AutoGenerationPolicy?autoGenPolicy) : base(vendor) { ArgumentValidator.ValidateNotNull(nameof(name), name); ArgumentValidator.ValidateNotNull(nameof(dt), dt); this._name = name; this._dataType = dt; this._default = defaultVal; this._mayBeNull = mayBeNull; this._autoGenPolicy = autoGenPolicy; }
public void AddParameter(string ParameterName, object Value, SQLDataType SQLType, int Size, ParameterDirection Direction) { SqlDbType buildDataType = new SqlDbType(); Parameter buildParameter; switch (SQLType) { case SQLDataType.SQLString: buildDataType = SqlDbType.VarChar; break; case SQLDataType.SQLNVarchar: buildDataType = SqlDbType.NVarChar; break; case SQLDataType.SQLChar: buildDataType = SqlDbType.Char; break; case SQLDataType.SQLInteger: buildDataType = SqlDbType.Int; break; case SQLDataType.SQLBit: buildDataType = SqlDbType.Bit; break; case SQLDataType.SQLDateTime: buildDataType = SqlDbType.DateTime; break; case SQLDataType.SQLDecimal: buildDataType = SqlDbType.Decimal; break; case SQLDataType.SQLMoney: buildDataType = SqlDbType.Money; break; case SQLDataType.SQLImage: buildDataType = SqlDbType.Image; break; } buildParameter = new Parameter(ParameterName, Value, buildDataType, Size, Direction); privateParameterList.Add(buildParameter); }
/// <summary> /// Convert SQL datatype to string command. /// </summary> /// <param name="type">SQL datatype to convert</param> /// <returns></returns> private string Convert_SQLTypetoString(SQLDataType type) { switch (type) { default: return(type.ToString()); case SQLDataType.VARCHAR_50: return("varchar(50)"); case SQLDataType.VARCHAR_100: return("varchar(100)"); case SQLDataType.VARCHAR_255: return("varchar(255)"); } }
public virtual ColumnDefinition NewColumnDefinition(string columnName, SQLDataType columnDataType, Boolean mayBeNull = true, String defaultValue = null, AutoGenerationPolicy?autoGenerationPolicy = null) { return(new ColumnDefinitionImpl(this.vendor, columnName, columnDataType, defaultValue, mayBeNull, autoGenerationPolicy)); }
public void AddParameter(string inParameterName, string inValue, SQLDataType inSQLType, int inSize, ParameterDirection inDirection = ParameterDirection.Input) { SqlDbType buildDataType; Parameter buildParameter; switch (inSQLType) { case SQLDataType.SQLString: buildDataType = SqlDbType.VarChar; break; case SQLDataType.SQLChar: buildDataType = SqlDbType.Char; break; case SQLDataType.SQLInteger: buildDataType = SqlDbType.Int; break; case SQLDataType.SQLBit: buildDataType = SqlDbType.Bit; break; case SQLDataType.SQLDateTime: buildDataType = SqlDbType.DateTime; break; case SQLDataType.SQLDecimal: buildDataType = SqlDbType.Decimal; break; case SQLDataType.SQLMoney: buildDataType = SqlDbType.Money; break; case SQLDataType.SQLImage: buildDataType = SqlDbType.Image; break; } buildParameter = new Parameter(inParameterName, inValue, inSQLType, inSize, inDirection); }
/// <summary> /// 添加储存过程 /// </summary> /// <param name="ParameterName"></param> /// <param name="Value"></param> /// <param name="SQLType"></param> /// <param name="Size"></param> /// <param name="Direction"></param> public void AddParameter(string ParameterName, [Optional] object Value /* = null */, [Optional] SQLDataType SQLType /* = 0 */, [Optional] int Size /* = 0 */, [Optional] ParameterDirection Direction /* = 1 */) { SqlDbType type1 = new SqlDbType(); Parameter parameter1 = null; switch (SQLType) { case SQLDataType.SQLString: type1 = SqlDbType.VarChar; break; case SQLDataType.SQLChar: type1 = SqlDbType.Char; break; case SQLDataType.SQLInteger: type1 = SqlDbType.Int; break; case SQLDataType.SQLBit: type1 = SqlDbType.Bit; break; case SQLDataType.SQLDateTime: type1 = SqlDbType.DateTime; break; case SQLDataType.SQLDecimal: type1 = SqlDbType.Decimal; break; case SQLDataType.SQLMoney: type1 = SqlDbType.Money; break; case SQLDataType.SQLImage: type1 = SqlDbType.Image; break; case SQLDataType.SQLText: type1 = SqlDbType.Text; break; case SQLDataType.SQLNVarChar: type1 = SqlDbType.NVarChar; break; case SQLDataType.SQLFloat: type1 = SqlDbType.Float; break; } parameter1 = new Parameter(ParameterName, RuntimeHelpers.GetObjectValue(Value), (SQLDataType)type1, Size, Direction); this.privateParameterList.Add(parameter1); }
/// <summary> /// Create single column in existing database table. /// </summary> /// <param name="tableName">Name of table</param> /// <param name="columnName">Name of column to make</param> /// <param name="dataType">SQL data type of column</param> /// <returns></returns> public bool CreateColumn(string tableName, string columnName, SQLDataType dataType) { return(SendCommand($"alter table { tableName } add { columnName } { Convert_SQLTypetoString(dataType) }")); }