public override void WriteColumnFlags(DBColumnFlags flags, DBClause defaultValue) { if ((flags & DBColumnFlags.PrimaryKey) > 0) { this.WriteRawSQLString(" PRIMARY KEY"); } if ((flags & DBColumnFlags.AutoAssign) > 0) { this.WriteRawSQLString(" AUTOINCREMENT"); } this.WriteSpace(); if ((flags & DBColumnFlags.Nullable) > 0) { this.WriteNull(); } else { this.WriteNotNull(); } if ((flags & DBColumnFlags.HasDefault) > 0) { this.WriteRawSQLString(" DEFAULT "); defaultValue.BuildStatement(this); } }
public static DBColumn Column(string name, DbType type, DBColumnFlags flags) { DBColumn col = Column(name); col.Type = type; col.Flags = flags; return(col); }
/// <summary> /// Sets this columns flag or clears /// </summary> /// <param name="flag"></param> /// <param name="value"></param> protected void SetColumnFlag(DBColumnFlags flag, bool value) { if (value) { SetColumnFlag(flag); } else { ClearColumnFlag(flag); } }
public override void WriteColumnFlags(DBColumnFlags flags, DBClause defaultValue) { if ((flags & DBColumnFlags.HasDefault) > 0) { throw new NotSupportedException(Errors.OLEDbDoesNotSupportDefaultValues); } if ((flags & DBColumnFlags.PrimaryKey) > 0) { this.WriteRawSQLString(" PRIMARY KEY"); } if ((flags & DBColumnFlags.Nullable) > 0) { this.WriteRawSQLString(" NULL"); } else { this.WriteRawSQLString(" NOT NULL"); } }
/// <summary> /// Clears the specified flag /// </summary> /// <param name="flag"></param> protected void ClearColumnFlag(DBColumnFlags flag) { _flags = _flags & ~flag; }
/// <summary> /// Sets this columns flag /// </summary> /// <param name="flag"></param> protected void SetColumnFlag(DBColumnFlags flag) { _flags = _flags | flag; }
/// <summary> /// Returns true if this columns flag has been set /// </summary> /// <param name="flag"></param> /// <returns></returns> protected bool IsColumnFlagSet(DBColumnFlags flag) { return((this._flags & flag) > 0); }
protected override string GetNativeTypeForDbType(System.Data.DbType dbType, int setSize, int accuracy, DBColumnFlags flags, out string options) { switch (dbType) { case System.Data.DbType.Guid: options = ""; return(" VARCHAR(50)"); case System.Data.DbType.Int16: case System.Data.DbType.Int32: case System.Data.DbType.Int64: case System.Data.DbType.UInt16: case System.Data.DbType.UInt32: case System.Data.DbType.UInt64: options = string.Empty; if ((flags & DBColumnFlags.AutoAssign) > 0) { return("AUTOINCREMENT"); } else { return(" INTEGER"); } default: return(base.GetNativeTypeForDbType(dbType, setSize, accuracy, flags, out options)); } }
protected override string GetNativeTypeForDbType(System.Data.DbType dbType, int setSize, int accuracy, DBColumnFlags flags, out string options) { string native; options = ""; switch (dbType) { case System.Data.DbType.String: if (setSize <= 0) { native = "NVARCHAR"; options = "(MAX)"; } else if (setSize < 4000) { native = "NVARCHAR"; options = "(" + setSize.ToString() + ")"; } else { native = "NTEXT"; } break; case System.Data.DbType.StringFixedLength: if (setSize <= 0) { setSize = 255; } if (setSize < 4001) { native = "NCHAR"; options = "(" + setSize.ToString() + ")"; } else { native = "NTEXT"; } break; case System.Data.DbType.AnsiString: if (setSize <= 0) { native = "VARCHAR"; options = "(MAX)"; } else if (setSize < 8000) { native = "VARCHAR"; options = "(" + setSize.ToString() + ")"; } else { native = "TEXT"; } break; case System.Data.DbType.AnsiStringFixedLength: if (setSize <= 0) { setSize = 255; } if (setSize < 8001) { native = "CHAR"; options = "(" + setSize.ToString() + ")"; } else { native = "TEXT"; } break; case System.Data.DbType.Single: if (setSize <= 0) { native = "REAL"; } else { native = "FLOAT"; options = "(" + setSize.ToString(); if (accuracy > 0) { options += "," + accuracy.ToString(); } options += ")"; } break; case System.Data.DbType.Double: if (setSize <= 0) { native = "REAL"; } else { native = "FLOAT"; options = "(" + setSize.ToString(); if (accuracy > 0) { options += "," + accuracy.ToString(); } options += ")"; } break; case System.Data.DbType.Currency: native = "MONEY"; break; default: native = base.GetNativeTypeForDbType(dbType, setSize, accuracy, flags, out options); break; } return(native); }
public static DBColumn Column(string name, DbType type, int maxLength, int precision, DBColumnFlags flags) { DBColumn col = Column(name); col.Type = type; col.Flags = flags; col.Length = maxLength; return(col); }
/// <summary> /// Creates a new Column reference and Adds it to this tables list of columns /// </summary> /// <param name="columnName"></param> /// <param name="type"></param> /// <param name="maxlength"></param> /// <param name="flags"></param> /// <returns></returns> public DBCreateTableQuery Add(string columnName, DbType type, int maxlength, DBColumnFlags flags) { DBColumn col = DBColumn.Column(columnName, type, maxlength, flags); return(Add(col)); }
protected override string GetNativeTypeForDbType(System.Data.DbType dbType, int setSize, int accuracy, DBColumnFlags flags, out string options) { if (dbType == System.Data.DbType.Date || dbType == System.Data.DbType.DateTime || dbType == System.Data.DbType.DateTime2 || dbType == System.Data.DbType.Time) { options = string.Empty; return("DATE"); } else if (dbType == System.Data.DbType.String) { if (setSize >= 2000) { options = string.Empty; return("CLOB"); } else { if (!_isInProcedureParameters) { options = "(" + setSize.ToString() + ")"; } else { options = ""; } return("NVARCHAR2"); } } else if (dbType == System.Data.DbType.AnsiString) { if (setSize >= 4000) { options = string.Empty; return("CLOB"); } else { if (!_isInProcedureParameters) { options = "(" + setSize.ToString() + ")"; } else { options = ""; } return("VARCHAR2"); } } else if (dbType == System.Data.DbType.StringFixedLength) { if (setSize >= 2000) { options = string.Empty; return("CLOB"); } else { if (!_isInProcedureParameters) { options = "(" + setSize.ToString() + ")"; } else { options = ""; } return("NCHAR"); } } else if (dbType == System.Data.DbType.AnsiStringFixedLength) { if (setSize >= 4000) { options = string.Empty; return("CLOB"); } else { if (!_isInProcedureParameters) { options = "(" + setSize.ToString() + ")"; } else { options = ""; } return("CHAR"); } } else if (dbType == System.Data.DbType.Int64) { options = ""; return("NUMBER"); } else { return(base.GetNativeTypeForDbType(dbType, setSize, accuracy, flags, out options)); } }
protected override string GetNativeTypeForDbType(DbType dbType, int setSize, int accuracy, DBColumnFlags flags, out string options) { string value = base.GetNativeTypeForDbType(dbType, setSize, accuracy, flags, out options); if (dbType == DbType.String || dbType == DbType.StringFixedLength) { if (null == options) { options = ""; } options += " character set UTF8"; } return(value); }