public void CreateTable() { if (myDB.ExistsTable(Name)) { return; } ValidationResult result = Schema.Validate(); if (result != ValidationResult.None) { throw new ArgumentException("invalid table description: " + result); } StringBuilder sb = new StringBuilder(); sb.Append("CREATE TABLE "); sb.Append(Schema.Name); sb.Append(" ( "); var last = Schema.Columns.Last(); foreach (var column in Schema.Columns) { sb.Append(column.ColumnName); sb.Append(" "); sb.Append(myDB.GetDBType(column.DataType)); if (column.ColumnName == Schema.IdColumn) { sb.Append(" PRIMARY KEY AUTOINCREMENT"); } else { sb.Append((column.AllowDBNull ? " NULL" : " NOT NULL")); } if (column != last) { sb.Append(","); } } sb.Append(");"); myDB.Execute(sb.ToString()); }
public void CreateTable() { if (Table != null) { return; } ValidationResult result = Schema.Validate(); if (result != ValidationResult.None) { throw new ArgumentException("invalid table description: " + result); } Table = Schema.NewTempTable(); myDB.Tables.Add(Table); }