【问题标题】:How to get last inserted using in C#? [duplicate]如何在 C# 中使用最后插入? [复制]
【发布时间】:2017-05-22 01:26:43
【问题描述】:

这是我尝试过的代码。我想使用最后插入的 id 添加所有学生姓名。

string name = textBox2.Text;
string insert = "insert into details values('"+name+"')";

SqlCommand cmd = new SqlCommand(insert, con);

cmd.ExecuteNonQuery();
MessageBox.Show("Record added");

【问题讨论】:

  • SQL Injection alert - 您应该将您的 SQL 语句连接在一起 - 使用 参数化查询 来避免 SQL 注入 - 查看 Little Bobby Tables
  • 请使用最后插入的 id 写上面的代码,我今天需要自己
  • 我还没有理解你的问题。提出问题与解决问题一样有技巧。
  • 那么请用清晰的英语解释你真正想要的是什么!这个问题很不清楚......

标签: c#


【解决方案1】:

你可以这样做

快速代码示例:

    string name = "jhon";
    StringBuilder sb = new StringBuilder();
    sb.AppendFormat("insert into details values(ISNULL((SELECT MAX(ID) FROM details),0)+1,'{0}')", name);
    Console.WriteLine(sb);
    Console.ReadKey();

我添加了图片以显示它的工作(当然我同意 auto_increment 是最好的方法 - 但我写这种类型的例子来支持快速的 Loshini Loganathan)

【讨论】:

  • 此代码无效
  • 除非您打开IDENTITY INSERT,否则这将不起作用,但您尝试做的是获取插入的 id 的最坏方法。
  • @Crowcoder 减两分:/
  • 我不明白你的评论是什么意思,一个人只能投反对票一次,所以不仅仅是我。而且,您的示例未使用自动增量,因此不适用于使用自动增量的 OP。
  • @Crowcoder 你的解释它s ok. for the OP who is using auto increment this will not work. I didnt 读对了 :) 但我尝试了帮助 ;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-29
  • 1970-01-01
  • 2010-09-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多