如何解决我希望 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 举报,一经查实,本站将立刻删除。