ado.net 向sql中插入新数据的同时获取自增重的id值

时间:2021-01-16 20:22:28

两种方法都可以实现:

要获取的自增长列为phonebookID

方法一:

sql = "insert into phonebook (mobile,peoplename) output inserted.phonebookid values ('13526168677','测试');";
int i = int.Parse(MainSqlHelper.ExecuteScalar(sql).ToString());

方法二:

sql = "insert into phonebook (mobile,peoplename) values ('13526168677','测试') select  @@IDENTITY  as  'bh'";
int i = int.Parse(MainSqlHelper.ExecuteScalar(sql).ToString());

主要用到了ExecuteScalar,它和ExecuteNoQuery的区别是:

前者返回的是一个object对象,

后者返回的是所影响的行数。