str = “插入DB的语句"    con.Execute (str)  '执行语句    
    Dim rs As ADODB.Recordset
    Set rs = con.Execute("SELECT @@IDENTITY AS ABC")  '记录上一次插入的值
    If rs.EOF And rs.BOF Then Exit Function   ’并没有执行退出
    rs.MoveFirst
    ID = rs.Fields("ABC").Value 
为什么rs.Fields("ABC").Value返回一个空的值呢??
通常这是哪里出了问题?原因?

解决方案 »

  1.   

    忘了说,数据已成功插入数据库了,就是rs.Fields("ABC").Value=NULL!!!!!!
      

  2.   

    你好象没有给rs.Fields("ABC").value赋值
      

  3.   

    原因是你把本该写在一个块里的句子分成了两个部分了,所以返回空值。
    请这么写INSERT......;SELECT @@IDENTITY AS ABC
      

  4.   

    插入记录及获取插入的自动增加列值应该放到一起处理。建议写个存储过程将
    这两句加进去,存储过程RETURN @@IDENTITY 使用连接对象执行存储过程就行了。
      

  5.   

    回复province_(雍昊):
    我试过这样都是不行啊,还是返回NULL。但我看过有的例题,都是分开写的。
    不知问题出在哪....
      

  6.   

    回复winehero(编程人生):
    刚看到这提示,觉得有意思,不过不知是否写得出-_-!先试试去