2

他のデータベースについてはこの質問に対する多くの回答が見つかりましたが、Microsoft アクセスについては回答が見つかりませんでした。

次の列を持つテーブルがあります: ID ABC ID は自動番号です。挿入したばかりの行の ID を取得するにはどうすればよいですか。

ところで:私はC#を使用しています

ありがとう

4

3 に答える 3

8

こちらのMSDN の記事を参照してください。SELECT @@IDENTITYMS Access では、レコードを挿入したステートメントのスコープ内に入れたいと思うでしょう。

于 2012-05-27T15:51:10.043 に答える
4

oldes メソッドで取得できます。レコードを挿入し、最後に挿入された ID を選択します。

INSERT INTO table(column1, column2, ...) VALUES(value1, value2)

SELECT TOP 1 id FROM table ORDER BY id DESC

もちろん、それは最高のものではありませんが、確かに機能します。

于 2012-05-27T15:56:25.707 に答える
1
//C#
string query = "Insert Into Categories (CategoryName) Values (?)";
string query2 = "Select @@Identity";
int ID;
string connect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|Northwind.mdb";
using (OleDbConnection conn = new OleDbConnection(connect))
{
  using (OleDbCommand cmd = new OleDbCommand(query, conn))
  {
    cmd.Parameters.AddWithValue("", Category.Text);
    conn.Open();
    cmd.ExecuteNonQuery();
    cmd.CommandText = query2;
    ID = (int)cmd.ExecuteScalar();
  }
}
于 2014-08-07T04:54:50.740 に答える