SET Rs = Server.CreateObject("ADODB.Command")
2 - Rs.ActiveConnection = MM_Conn_STRING3 - SQL = "SET NOCOUNT ON;"
4 - SQL = SQL & "INSERT INTO dbo.Table1 (Field1) VALUES ('XXX');"
5 - Rs.CommandText = SQL
6 - Rs.Execute7 - SQL = SQL & "SELECT @@IDENTITY AS NewID;" 8   Dim b As New ADODB.Recordset
9   b.Open sql, MM_Conn_STRING
10 - NewID = b.Fields("NewID").value11 - Rs.ActiveConnection.Close
12 - SET Rs = Nothing
13   b.close
13 set b=nothing

解决方案 »

  1.   

    不要对业务对象使用indentity。即使有个“流水号”,它也应该是客户端写进去的,而不是由服务器自动生成的。
      

  2.   

    加空格!
     - SET Rs = Server.CreateObject("ADODB.Command")
    2 - Rs.ActiveConnection = MM_Conn_STRING3 - SQL = "SET NOCOUNT ON; "
    4 - SQL = SQL & "INSERT INTO dbo.Table1 (Field1) VALUES ('XXX'); SET NOCOUNT OFF;  "
    5 - SQL = SQL & "SELECT @@IDENTITY AS NewID; " 6 - Rs.CommandText = SQL
    7 - Rs.Execute8 - NewID = Rs.Fields("NewID").value9 - Rs.ActiveConnection.Close
    A - SET Rs = Nothing