7

こんにちは、以下のコードがあり、SQL ステートメントを実行したときに結果の ID 番号を返したいと考えています。

set objCnn = Server.CreateObject("ADODB.connection")

CurrMachine = "my-test-box"

ObjCnn.Open("Provider=SQLOLEDB;Persist Security Info=False;User ID=Test;password=Test123;Language=British;Initial Catalog=TestDB;Data Source=" & CurrMachine)

strSQL = "INSERT INTO dbo.xyz" & _ " (field) " & _ " VALUES  (" & date & ")" & _ " SELECT @@Identity "

objCnn.Execute strSQL

SQL でこれを行うと一意の ID 番号を返す SELECT @@Identity を追加しました。response.write strSQL の場合、結果のテキストではなく SQL 文字列を取得します。

乾杯!

編集

あなたのためにリチャード

    set objCnn = Server.CreateObject("ADODB.connection")

    CurrMachine = "my-test-srv"

    ObjCnn.Open("Provider=SQLOLEDB;Persist Security Info=False;User ID=Test;password=Test123;Language=British;Initial Catalog=Test;Data Source=" & CurrMachine)

        strSQL = "INSERT INTO xyz" & _
                " ([date])" & _
                 " VALUES  ( " & date & " )" & _
                 " SET NOCOUNT OFF; SELECT SCOPE_IDENTITY() ID; "

    Set rs = objCnn.Execute(strSQL)
    response.write rs("ID")
4

1 に答える 1