繁体   English   中英

从插入/更新查询中获取最后插入的ID返回

[英]Get last inserted ID return from a insert/update query

我想在插入我的visual C#程序时返回最后插入的id。

// Insert to database
try
{

    int result = int.Parse(tblClipManagerTableAdapter.InsertQuery(textBox2.Text, textBox1.Text).ToString());
    MessageBox.Show(result.ToString());
}
catch (Exception ex) {
    MessageBox.Show("Fejl: " + ex.Message.ToString());
}

错误是:“对象引用未设置为对象的实例。”

我已将tblClipManagerTableAdapter.InsertQuery执行模式设置为标量。

有关如何使用我当前的代码和设置返回最后插入的ID的任何帮助?

使用本地SQL数据库(dbClipManager.sdf)。

最好的祝福


编辑

我想我发现了一些我可以使用的东西。

但我对此很新。 不确定如何完成编写代码? 我以前只使用数据集,而不是打开连接,执行SQL cmds。 :O /

http://social.msdn.microsoft.com/Forums/en-US/sqlce/thread/1d1d3267-dc29-470b-bb20-00487a39bc87/

最好的祝福

你的方法有几个问题,所以我建议你快速阅读表适配器并确保你已经掌握了基础知识

  1. 如果您尝试添加新记录,则应该调用TableAdapter.Insert ,而不是TableAdapter.Update
  2. 您无法为数据库创建第二个命令并使用@@IDENTITY来获取先前生成的ID ...这必须在同一会话中返回,否则SQL将不知道您期望哪个ID接收。
  3. 如果将表适配器的执行模式设置为标量,则ID将是方法调用的返回值。 有关您遇到的同一问题,请参阅此问答。

编辑: 请参阅此演练,了解您要完成的任务。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM