2

我为其他数据库找到了这个问题的许多答案,但没有找到 Microsoft 访问的任何答案。

我有一个包含以下列的表:ID ABC ID 是自动编号,我如何获取我刚刚插入的行的 ID。

顺便说一句:我正在使用 C#

谢谢

4

3 回答 3

8

请参阅此处的MSDN 文章。在 MS Access 中,您需要SELECT @@IDENTITY在插入记录的语句范围内。

于 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 回答