_RecordsetPtr rs = conn->Excecute("insert 你的表 (xx,yy) values(11,22) SELECT @@IDENTITY AS dddd",NULL,adcmdText)
 _variant_t varID = rs->GetCollect(L"dddd");

解决方案 »

  1.   

    因为你在这段代码执行前没有其它Insert操作,@@IDENTITY当然为NULL了
    @@IDENTITY是返回最新插入记录的自增ID值
      

  2.   

    我在前面也是有一条
    conn->Execute("INSERT ");
    然后是接下来的语句。
    To yujohny:@@identity不是保留最近一次的自增ID吗?To pengdali:一定要把SQL语句放在一起吗?分开就得不到吗?
      

  3.   

    象你这种情况,用
    SELECT IDENT_CURRENT('yourtable')
    比较合适
      

  4.   

    中间执行其他语句后 再select @@identity也可以的@@IDENTITY的值不会被其他用户的插入语句影响,但会被触发器影响
    看看是不是这个问题
      

  5.   

    中间执行其他语句后 再select @@identity也可以的@@IDENTITY的值不会被其他用户的插入语句影响,但会被触发器影响
    看看是不是这个问题