在程序中获取SQL-SERVER数据库insert into操作的主键返回值

文/liulanglang  出处/博客园

      插入一条记录后想要立刻获取其数据表中的主键返回值。这个主键是自动生成的,其实实现的方式有很多,比如再进行一次查询,获取出来。或者在插入数据之前取出最大值,在最大值上面加一等等,方法很多,但是有些很不方便。
      个人感觉最快的方式就是,在插入数据后直接获取主键的值,然后返回过来。
方法如下:
sql语句如下:
INSERT INTO tableName (fieldname ...) values (value ...) SELECT @@IDENTITY AS returnName;
在sql语句中加入SELECT @@IDENTITY AS returnName;用来获取主键的值
在程序中获取返回值:
    public int sqlexecutereader(string sql)
    {
        DBopen();
        SqlCommand myComm = new SqlCommand(sql, Connection);
        int newID = Convert.ToInt32(myComm.ExecuteScalar());
        DBclose();
        return newID;
    }
当然在此处主键是int类型的自动增加的。DBopen();DBclose();的操作在此就不多说了。

 感谢原创者的辛勤劳动,希望对您有所帮助,转载请注明原出处。
 您可能对 [SQL Server] 的这些文章也感兴趣:

SQL Server 2005返回刚刚插入的数据条目id值
在企业管理器里删除不需要的SQLSERVER注册
SQL Server 7.0 一般问题
SQL Server2000安装手册(用于Windows版CAMS
SQL Server的性能与分析参数
SQL Server 无法打开用户默认数据库的解决方法
SQL Server日志文件丢失的恢复方法
如何获取SQL Server数据库里表的占用容量大小
如何使用 SQL Server 数据库查询累计值
入侵 SQL Server 数据库系列之:破解SA密码