This example creates a new TableDef object, adds a Field object to it, and appends the TableDef to the TableDefs collection in the current database. Then the example enumerates all the TableDef objects in the current database and all the properties of the new TableDef. See the methods and properties listed in the TableDef summary topic for additional examples.
CdbDBEngine dbeng;
CdbDatabase db;
CdbTableDef tdfEnum;
CdbField fldDate;
int nFld, nIdx;
// Open the database.
db = dbeng.OpenDatabase(_T("Northwind.mdb"));
// Create a tabledef.
tdfEnum = db.CreateTableDef("MyTable");
fldDate = tdfEnum.CreateField("Date", dbDate);
tdfEnum.Fields.Append(fldDate);
db.TableDefs.Append(tdfEnum);
// Get database name.
printf("Database Name: %s\n", db.GetName());
// Enumerate all fields in tdfEnum.
printf("TableDef: Name; Field: Name\n");
for (nFld = 0; nFld < tdfEnum.Fields.GetCount(); nFld++)
{
printf(" %s", tdfEnum.GetName());
printf("; %s\n", tdfEnum.Fields[nFld].GetName());
}
// Enumerate all indexes in tdfEnum.
printf("TableDef: Name; Index: Name\n");
for (nIdx = 0; nIdx < tdfEnum.Indexes.GetCount(); nIdx++)
{
printf(" %s", tdfEnum.GetName());
printf("; %s\n", tdfEnum.Indexes[nIdx].GetName());
}
// Enumerate built-in properties of tdfEnum.
printf("tdfEnum.Name: %s\n", tdfEnum.GetName());
printf("tdfEnum.Attributes: %ld\n", tdfEnum.GetAttributes());
printf("tdfEnum.Connect: %s\n", tdfEnum.GetConnect());
printf("tdfEnum.DateCreated: %s\n", tdfEnum.GetDateCreated().Format());
printf("tdfEnum.LastUpdated: %s\n", tdfEnum.GetLastUpdated().Format());
printf("tdfEnum.RecordCount: %ld\n", tdfEnum.GetRecordCount());
printf("tdfEnum.SourceTableName: %s\n", tdfEnum.GetSourceTableName());
printf("tdfEnum.Updatable: %d\n", tdfEnum.GetUpdatable());
printf("tdfEnum.ValidationRule: %s\n", tdfEnum.GetValidationRule());
printf("tdfEnum.ValidationText: %s\n", tdfEnum.GetValidationText());