(首先抱歉我的英文):
我想暂时将auto-number
列更改为int64
数据类型,以从其他数据库导入记录。导入记录后,我想将其更改回auto-number
。
我的问题:
我尝试使用table.Columns[i].AutoIncrement
属性检查此列是否为auto-number
并获取其索引以便我可以更改其数据类型,但此属性对我不起作用,它返回false为所有专栏。
我使用2010/2013 Access数据库。
所以我想知道如何获取auto-number
列的索引?
答案 0 :(得分:1)
您可以使用此方法
// Bogus query, we don't want any record, so add a always false condition
OleDbCommand cmd = new OleDbCommand("SELECT * FROM aTable where 1=2", con);
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
DataTable test = new DataTable();
da.FillSchema(test, SchemaType.Source);
for(int x = 0; x < test.Columns.Count; x++)
{
DataColumn dc = test.Columns[x];
Console.WriteLine("ColName = " + dc.ColumnName +
", at index " + x +
" IsAutoIncrement:" + dc.AutoIncrement);
}