Creating Access database at runtime
Look at the following code:
// catalog object
Catalog cat = new CatalogClass();
cat.Create(connStrAccess);
// naslov
Table dtNaslov = new TableClass();
dtNaslov.Name = "Naslov";
dtNaslov.Columns.Append("ID_Naslov",DataTypeEnum.a dInteger,4);
dtNaslov.Keys.Append("ID_Naslov",KeyTypeEnum.adKey Primary,"ID_Naslov","Naslov","ID_Naslov");
dtNaslov.Columns.Append("Ulica",DataTypeEnum.adVar WChar,50);
dtNaslov.Columns.Append("PostnaSt",DataTypeEnum.ad SmallInt,4);
dtNaslov.Columns.Append("Kraj",DataTypeEnum.adVarW Char,50);
cat.Tables.Append((object)dtNaslov);
// potnik
Table dtPotnik = new TableClass();
dtPotnik.Name = "Potnik";
dtPotnik.Columns.Append("ID_Potnik",DataTypeEnum.a dInteger,4);
dtPotnik.Keys.Append("ID_Potnik",KeyTypeEnum.adKey Primary,"ID_Potnik","Potnik","ID_Potnik");
dtPotnik.Columns.Append("ID_Naslov",DataTypeEnum.a dInteger,4);
dtPotnik.Keys.Append("ID_Naslov",KeyTypeEnum.adKey Foreign,"ID_Naslov","Naslov","ID_Naslov");
dtPotnik.Columns.Append("Ime",DataTypeEnum.adVarWC har,50);
dtPotnik.Columns.Append("Priimek",DataTypeEnum.adV arWChar,50);
cat.Tables.Append((object)dtPotnik);
// partner
Table dtPartner = new TableClass();
dtPartner.Name = "Partner";
dtPartner.Columns.Append("ID_Partner",DataTypeEnum .adInteger,4);
dtPartner.Keys.Append("ID_Partner",KeyTypeEnum.adK eyPrimary,"ID_Partner","Partner","ID_Partner");
dtPartner.Columns.Append("ID_Naslov",DataTypeEnum. adInteger,4);
dtPartner.Keys.Append("ID_Naslov",KeyTypeEnum.adKe yForeign,"ID_Naslov","Naslov","ID_Naslov");
dtPartner.Columns.Append("Naziv",DataTypeEnum.adVa rWChar,100);
cat.Tables.Append((object)dtPartner);
A problem is, when debug mode is trying to do cat.Tables.Append((object)dtPartner). It
throws an exception: "ID_Naslov object already exist". Why is that? I only want to
create a relationship between Naslov & Potnik tables and Naslov & Partner tables.
How can I create a Foreign key in table Partner? It generates Foreign key in table
Potnik perfectly, but in Partner table it throws an exception.
Can someone please help?
Oh, how can I add an AutoNumber field to the ID_Naslov? Thanks
|