分享

sql语句中有insert然后有个select@@identity,

 悟静 2013-03-24

string sql="insert into users values('admin','admin','男');select @@Identity";

sql语句拼装在一起执行,等于是先执行插入操作,然后返回所插入的数据的id

这条sql语句直接 用sqlcommand的ExecuteNonQuery 方法执行 会返回所插入的数据的的id号
==============

/**
*执行SQL语句,并返回操作的ID
*sql:被执行SQL语句
*con:数据库连接对象
*rtnID:返回值
*/
function executeRtnID(sql,con){
  var rtnID = "";
  try {
    con.execute(sql);
    rtnID = getSingleValue("select @@identity",con);
  } catch (e){
    return "";
  }
    alert("executeRtnID..rtnID->"+rtnID);
  return rtnID;
}

这是前几天写得一个DataBase的操作方法...上网搜索到@@identity具体意思,记录下来

@@identity是表示的是最近一次向具有identity属性(即自增列)的表插入数据时对应的自增列的值,是系统定义的全局变量。一般系统定义的全局变量都是以@@开头,用户自定义变量以@开头。比如有个表A,它的自增列是id,当向A表插入一行数据后,如果插入数据后自增列的值自动增加至101,则通过select @@identity得到的值就是101。使用@@identity的前提是在进行insert操作后,执行select @@identity的时候连接没有关闭,否则得到的将是NULL值。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多