微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我希望 MS Access 中最后一条记录的相应 ID 出现在消息框中

如何解决我希望 MS Access 中最后一条记录的相应 ID 出现在消息框中

我在 C# (Visual Studio 15) 中使用 Access 作为数据库。我想将表单条目(添加记录)保存到 Access 数据库中,并希望在成功保存后在 MsgBox显示相应的记录 ID。我尝试了以下方法

setSystemTime

解决方法

你可以这样做:

using (OleDbCommand Command = new OleDbCommand("",conn))
{
    Command.CommandText = "Your big ugly mess - need to change this to parmaters!)";
    Command.Connection.Open();
    Command.ExecuteNonQuery();

    Command.CommandText = "Select @@Identity";
    var intLastID = Command.ExecuteScalar;

    MsgBox("Last id into database = " + intLastID);
}

如前所述,您确实想更改插入命令 - 它太长,太难维护,并且容易出现代码错误甚至 sql 注入。

但是,现在,您可以使用上述方法来获取/获取最后一个 ID 插入。

,

为了解决我的问题,我有以下代码(来自凯文):

     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("@CategoryName",OleDbType.Integer);
                conn.Open();
                cmd.ExecuteNonQuery();
                cmd.CommandText = query2;
                ID = (int)cmd.ExecuteScalar();
            }
        }

现在,我的挑战是如何在成功创建记录后让 ID 出现在消息框中。请考虑我在这篇文章中与此相关的最早代码。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。