首页 / 问答 / C#/.NET/.NET Core应用程序编程开发中在向SQL Server数据库插入/写入数据后如何获取/返回自增ID?

C#/.NET/.NET Core应用程序编程开发中在向SQL Server数据库插入/写入数据后如何获取/返回自增ID?

0

假如正在使用C#/.NET/.NET Core进行应用程序的开发,现向SQL Server数据库中写入/插入一条数据,要求获取插入的这条数据的ID值(假设插入的数据表的ID为自增字段),应该如何实现呢?

C#的实体类为:

public class MemberBasicData
{
    public int Id { get; set; }
    public string Mem_NA { get; set; }
    public string Mem_Occ { get; set; }
}

用到的C#向数据库写入数据的方法为:

public int CreateNewMember(string Mem_NA, string Mem_Occ )
{
    using (SqlConnection con=new SqlConnection(Config.ConnectionString))
    {
        using(SqlCommand cmd=new SqlCommand("INSERT INTO Mem_Basic(Mem_Na,Mem_Occ) VALUES(@na,@occ)",con))
        {
            cmd.Parameters.AddWithValue("@na", Mem_NA);
            cmd.Parameters.AddWithValue("@occ", Mem_Occ);
            con.Open();

            int modified = cmd.ExecuteNonQuery();

            if (con.State == System.Data.ConnectionState.Open) con.Close();
                return modified;
        }
    }
}
回复 [×]
提交评论
请输入评论内容

2 个回答

  • 0

    在SQL Server 2005或者更高的版本中,可以使用output来返回插入数据后的值

    注:如果需要返回插入数据的表的其他字段,你可以修改INSERTED.ID中的ID为你需要的对应表的字段。

    如果是SQL Server 2005以前的版本,则请使用SELECT SCOPE_IDENTITY();来返回最新插入的自增值,如下:

    Rector的个人主页

    Rector

    2020-04-17 回答

    • 0

      如果你使用存储过程,则存储插入数据的存储过程形如:

      C#调用存储过程的代码为:

      Rector的个人主页

      Rector

      2020-04-17 回答

      我来回答