[ johnnyc @ 11.03.2009. 18:48 ] @
Pozdrav!

Moj C# code treba da dinamicki kreira Access tabelu.

Ono sto ne znam je kako da definisem da mi polje Id bude autonumber (tj. autoincrement).

Nasao sam neka resenja na netu ali ona ne odgovaraju (iskomentarisano je u code-u)

Code vezan za ovo izgleda nekako ovako:

Code:

...
using ADOX;
...
...
...


CatalogClass cat = new CatalogClass();
string tmpStr;
string filename = dbName + "_tracker.mdb";
tmpStr = "Provider=Microsoft.Jet.OLEDB.4.0;";
tmpStr += "Data Source=" + filename + ";Jet OLEDB:Engine Type=5";
cat.Create(tmpStr);

Table nTable = new Table();
nTable.Name = "myTracker";
nTable.Columns.Append("Id", DataTypeEnum.adInteger, 5);
nTable.Columns.Append("startTime", DataTypeEnum.adDate, 0);
nTable.Columns.Append("updateTime", DataTypeEnum.adDate, 0);
nTable.Columns.Append("totalAdded", DataTypeEnum.adInteger, 5);
nTable.Columns.Append("totalDeleted", DataTypeEnum.adInteger, 5);

nTable.Keys.Append("Id", KeyTypeEnum.adKeyPrimary, nTable.Columns[0], dbName, "Id");


// sledeci red vraca gresku: Item cannot be found in the collection corresponding to the requested name or ordinal.
//nTable.Columns[0].Properties["Autoincrement"].Value = true;


cat.Tables.Append(nTable);

System.Runtime.InteropServices.Marshal.FinalReleaseComObject(nTable);
System.Runtime.InteropServices.Marshal.FinalReleaseComObject(cat.Tables); 
System.Runtime.InteropServices.Marshal.FinalReleaseComObject(cat.ActiveConnection); 
System.Runtime.InteropServices.Marshal.FinalReleaseComObject(cat);

....




Da li neko moze da mi pomogne oko ovoga? Hvala unapred!