插入一条信息后,如何取到插入后产生的id(既select @@IDENTITY的C#用法)
代码如下:
- C# code
StringBuilder strSql = new StringBuilder(); strSql.Append("insert into DialogueQuantity("); strSql.Append("LocalAllCount,NoLocalAllCount,LocalValidCount,NoLocalValidCount,StatisticsDate,ProjectID,UID)"); strSql.Append(" values ("); strSql.Append("@LocalAllCount,@NoLocalAllCount,@LocalValidCount,@NoLocalValidCount,@StatisticsDate,@ProjectID,@UID)"); strSql.Append(";select @@IDENTITY"); SqlParameter[] parameters = { new SqlParameter("@LocalAllCount", SqlDbType.Int,4), new SqlParameter("@NoLocalAllCount", SqlDbType.Int,4), new SqlParameter("@LocalValidCount", SqlDbType.Int,4), new SqlParameter("@NoLocalValidCount", SqlDbType.Int,4), new SqlParameter("@StatisticsDate", SqlDbType.DateTime,3), new SqlParameter("@ProjectID", SqlDbType.Int,4), new SqlParameter("@UID", SqlDbType.NVarChar,30)}; parameters[0].Value = cqm.LocalAllCount; parameters[1].Value = cqm.NoLocalAllCount; parameters[2].Value = cqm.LocalValidCount; parameters[3].Value = cqm.NoLocalValidCount; parameters[4].Value = cqm.StatisticsDate; parameters[5].Value = cqm.ProjectID; parameters[6].Value = cqm.UID; int resultValue = SqlHelper.ExecuteNonQuery(AES.Decryption(ConfigurationManager.ConnectionStrings["sqlconn"].ConnectionString,"XXXX"), CommandType.Text, strSql.ToString(), parameters);
注意sql语句的最后一个 ;select @@IDENTITY我想知道插入该条信息后产生的id是多少,代码应该如何修改?
[解决办法]
insert into temp value();select @@IDENTITY;
写在一起,使用ExecuteScaler执行
此消息通过 【CSDN论坛 Winform正式版】 回复!有关此工具
[解决办法]
用以下函ExecuteScalar(),返回象,成int便可