如何获取我当前插入到访问数据库中的ID的ID

时间:2012-05-27 15:46:27

标签: c# sql ms-access

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

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

btw:我正在使用C#

谢谢

3 个答案:

答案 0 :(得分:8)

请在此处查看MSDN article。在MS Access中,您需要在插入记录的语句范围内SELECT @@IDENTITY

答案 1 :(得分:4)

您可以使用最旧的方法获取它。插入您的记录并对插入的最后一个ID执行选择:

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

SELECT TOP 1 id FROM table ORDER BY id DESC

当然,这不是最好的,但确实有效。

答案 2 :(得分: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();
  }
}