private void CreateTempTable() { tempTableName = RandomString(8, true); create = DBQuery.Create.Table(tempTableName); foreach (TableField tf in DataSchema.Fields) { if (tf.Type == FieldType._string) { create.Add(tf.Field, DbType.String, 555, DBColumnFlags.Nullable); } else if (tf.Type == FieldType._datetime) { create.Add(tf.Field, DbType.DateTime, DBColumnFlags.Nullable); } else if (tf.Type == FieldType._number) { create.Add(tf.Field, DbType.String, 555, DBColumnFlags.Nullable); } else if (tf.Type == FieldType._bool) { create.Add(tf.Field, DbType.Boolean, DBColumnFlags.Nullable); } } foreach (WhereStatement ws in DataSchema.Wheres) { var aa = DataSchema.Fields.Where(x => x.Field.ToLower() == ws.FieldName.ToLower()).FirstOrDefault(); if (aa == null) { create.Add(ws.FieldName, DbType.String); } } base.Database.ExecuteNonQuery(create); }
/// <summary> /// returns the custom table creation statement /// </summary> /// <returns></returns> private static DBCreateTableQuery GetCustomTableQuery() { DBCreateTableQuery create = DBQuery.Create.Table(TableName) .Add(TblCol1, DbType.Int32, DBColumnFlags.AutoAssign | DBColumnFlags.PrimaryKey) .Add(TblCol2, DbType.AnsiString, 50, DBColumnFlags.Nullable).Default(DBConst.String("-")) .Add(TblCol3, DbType.String, 1000, DBColumnFlags.Nullable); return(create); }
// // support methods that actually perform the operation on the database // #region private void CreateCustomTable(DBDatabase db) /// <summary> /// Creates a new custom table in the specified database /// </summary> /// <param name="db"></param> private void CreateCustomTable(DBDatabase db) { DBCreateTableQuery create = GetCustomTableQuery(); //OleDb provider does not support default values if (db.ProviderName == "System.Data.OleDb") { create.ClearDefaults(); } TestContext.WriteLine(create.ToSQLString(db)); db.ExecuteNonQuery(create); TestContext.WriteLine("Table {0} Created", TableName); }