日期:2014-05-18  浏览次数:20891 次

插入一条信息后,如何取到插入后产生的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便可