2016-09-19 7 views
1

(私の英語のための最初申し訳ありません):のMS Accessでオートナンバー列のインデックスを取得し2013分の2010

私は一時的に別のデータベースからレコードをインポートする int64データ型に auto-number列を変更したい

。レコードをインポートした後、auto-numberに戻したいと思います。

私の問題: 私はこの列がauto-numberあるかどうかを確認し、私はそのデータ型を変更することができるようにそのインデックスを取得するためにtable.Columns[i].AutoIncrementプロパティを使用しようとしますが、このプロパティは私のために動作しませんでした、それがためにfalseが返さすべての列。

私は2010/2013 Accessデータベースを使用しています。

だから、auto-numberのインデックスを取得するにはどうすればいいですか?

答えて

0

あなたは

// 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); 
} 
+0

おかげでスティーブこのアプローチを使用することができます!それは非常にうまくいった。 – user2852283

関連する問題