在 Ms Access 2010/2013 中获取自动编号列索引
Get AutoNumber column index in Ms Access 2010/2013
(首先对不起我的英语):
我想暂时将 auto-number
列更改为 int64
数据类型,以便从另一个数据库导入记录。导入记录后想改回auto-number
.
我的问题:
我尝试使用 table.Columns[i].AutoIncrement
属性 来检查此列是否为 auto-number
并获取其索引以便我可以更改其数据类型,但是此 属性 不适用于我,所有列都返回 false。
我使用 2010/2013 Access 数据库。
所以我想知道如何获取 auto-number
列的索引?
您可以使用这种方法
// 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);
}
(首先对不起我的英语):
我想暂时将 auto-number
列更改为 int64
数据类型,以便从另一个数据库导入记录。导入记录后想改回auto-number
.
我的问题:
我尝试使用 table.Columns[i].AutoIncrement
属性 来检查此列是否为 auto-number
并获取其索引以便我可以更改其数据类型,但是此 属性 不适用于我,所有列都返回 false。
我使用 2010/2013 Access 数据库。
所以我想知道如何获取 auto-number
列的索引?
您可以使用这种方法
// 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);
}