在sql server的查询分析器中可以这样定,以得到插入数据的主键DECLARE @sql NVARCHAR(4000)
DECLARE @Result INT
SET @sql = 'INSERT INTO Spec_Friends(f_Title, Spec_ID) VALUES (''abc'',0) SET @Return = @@Identity'
exec sp_executesql @sql, '@Return INT OUTPUT',@Result OUTPUT
PRINT  @Result但在c#怎么得到这个结果呢?我试过多种方法,但还是不行,贴个代码            SqlParameter[] sqlParams = new SqlParameter[3];
            sqlParams[0] = new SqlParameter("@statement", SqlDbType.NVarChar);
            sqlParams[0].Value = sql;            sqlParams[1] = new SqlParameter("@parameters", SqlDbType.NVarChar, 1000);
            sqlParams[1].Value = "@Return INT OUTPUT";            sqlParams[2] = new SqlParameter("@Return", returnType);
            sqlParams[2].Direction = ParameterDirection.Output;            new SQLOperator(this._SqlConn).ExecuteProcedure("sp_executesql", ref sqlParams);  //执行存储过程并返回参数
            return sqlParams[2].Value;