取不到id是ADO没有这个功能,你可以用一个存储过程来实现,应该比较简单

解决方案 »

  1.   

    存储过程
    create proc pr_test
    @Customer_Name  varchar(300)
    as
    declare @id int
    insert T_Buy(Customer_Name ) values(@Customer_Name)
    select @id=SCOPE_IDENTITY()
    insert T_Real(aid) values (@id)go
      

  2.   

    Dim lastID
    lastID=Conn.Execute("INSERT t_buy(Customer_Name) VALUES('" & Customer_Name & "');SELECT SCOPE_IDENTITY();")(0)
    Response.Write lastID
    ...'//很久没用asp了,记不清了。 你这样试试。如果这样报错,那么用以下写法
    Dim lastID
    Set Rs = Conn.Execute("INSERT t_buy(Customer_Name) VALUES('" & Customer_Name & "');SELECT SCOPE_IDENTITY();")
    Set Rs1 = Rs.NextRecordset
    lastID = Rs1(0)
    Response.Write lastID
    ...
      

  3.   

    先查select * from T_Buy是否记录.
    也就是说查ID有没有.ASP的就看不懂了.
      

  4.   

     在T_Buy寫個觸發器就好了
      

  5.   

    现在有两个表,一个是T_Buy,T_Buy中id是自动生成的,一个是T_Real 
    我想在T_Buy中加入数据的同时把T_Buy中的id同时加入T_Real中的aid字段中,但是现在上面的代码无法将id加入到T_Real中,是不是要设置数据库的关系啊,怎么设啊... 
    请教高手....
    ---@@IDENTITY
      

  6.   

    如果不用数据库的一些特性的话,比如@@identity,ident_current或scope_identity等等,那么按楼主的办法:
    <%Set Conn=Server.CreateObject("Adodb.Connection")
    Conn.Open "Provider=SQLOLEDB;Server=192.168.1.15;UID=x;pwd=x;Database=test"
    Set Rs=Server.CreateObject("Adodb.Recordset")
    Rs.Open "SELECT * FROM tx",Conn,1,3
    Rs.AddNew
    Rs("v")="test1"
    Rs.Update
    Rs.MoveLast  '//这里加上就可以了.
    Response.Write Rs("ID") & ":" & Rs("v")
    Rs.CLose
    Set Rs=Nothing
    Conn.Close
    Set Conn=Nothing
    %>