お世話になります。
表題の通り、C#で作ったアプリでMDBファイルへ、レコードをINSERTしたところ、
MDBファイルを作った時から存在するIDフィールドが1ずつ加算されず、6610番のレコードの次が、13136番になってしまいました。
IDフィールドは、6610番まで、および13136番以降は1ずつ加算されるのですが、なぜかその番号だけ奇怪な現象がおき、原因も対策も分からず、困っています。
あくまで、IDフィールドはプログラム等で、いじっていません。
レコードをINSERTしたり、MDBへの接続準備をしたりする手続きは、以下の通りです。
C#
1 2using System; 3using System.Collections.Generic; 4using System.Linq; 5using System.Text; 6using System.Threading.Tasks; 7using System.Data.Common; 8using System.Data; 9using System.Data.OleDb; 10using System.IO; 11 12 class MdbAccess 13 { 14 private string error=""; 15 private OleDbConnection conn; //データベースへの接続部 16 17 //データベースに接続 18 public MdbAccess() 19 { 20 conn = new OleDbConnection(); 21 string path="filename"; 22 23 //データベースに接続 24 conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +path + ".mdb; Persist Security Info = False" ; 25 26 if (IntPtr.Size == 8) 27 { 28 //64bitでは「Microsoft.Jet.OLEDB.4.0」は使えない 29 conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" +path + ".mdb; Persist Security Info = False" ; 30 31 } 32 33 //開く 34 conn.Open(); 35 36 37 38 } 39 40 public string geterror() { return error; } 41 42 43 //SQL実行 44 public void RunSQL(string sql) 45 { 46 47 DbCommand command = conn.CreateCommand(); 48 49 50 command.CommandText = sql;//コマンドを登録 51 52 command.ExecuteNonQuery();//コマンドを実行 53 } 54 55 }
どうすれば、IDフィールドの値の増大を阻止できますか。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/22 05:48
退会済みユーザー
2018/12/22 08:36 編集
2018/12/22 10:07