intsert into a(f_content) value(XXX);select @@identity

解决方案 »

  1.   

    SqlCommand cmd = new SqlCommand(上面的sql语句,数据库连接);
    SqlDataReader reader = cmd.ExecuteReader();
    reader[0]就是你要的
      

  2.   

    select @@identity只是取出最后的值,如果在插入一条记录的同时,有一个人也插入一条记录,你的@@identity有可能得到的就不是你插入的那条记录,而是别人的记录。
      

  3.   

    @@identity是系统变量,可以抓到的
      

  4.   

    @@identity只是最后一条记录,它适用于所有的插入,而不是当前的插入
      

  5.   

    在一条 INSERT、SELECT INTO 或大容量复制语句完成后,@@IDENTITY 中包含此语句产生的最后的标识值。若此语句没有影响任何有标识列的表,则 @@IDENTITY 返回 NULL。若插入了多个行,则会产生多个标识值,@@IDENTITY 返回最后产生的标识值。如果此语句激发一个或多个执行产生标识值的插入操作的触发器,则语句执行后立即调用 @@IDENTITY 将返回由触发器产生的最后的标识值。若 INSERT 或 SELECT INTO 语句失败或大容量复制失败,或事务被回滚,则 @@IDENTITY 值不会还原为以前的设置。
      

  6.   

    编一个存储过程,在最后返回IDENTITY就行了,这样不会受到多人同时更新数据库的影响