この記事では、主に ASP が新しいレコードの ID 値を取得する方法を紹介します。また、ASP+Access2000 と ASP+SQL Server 2000 の 2 つのデータベースを取得する方法も紹介します。必要な方は以下を参照してください。
ASP+Access2000
1. 取得する ID 値フィールド属性は次のように設定する必要があります: 自動番号 (フィールド名は RecordID であると仮定します)
2. レコード形式を追加: Rs.Open table,Cn,1,3
モードは 1、3 であることに注意してください。
3.newID = rs.Fields("レコードID")
4.newID は、追加したばかりのレコードの ID 値です。
ASP+SQL Server 2000
1. 取得する ID 値フィールド属性は次のように設定する必要があります: 自動番号 (フィールド名は RecordID であると仮定します)
2. レコードコードモードを追加します。
次のようにコードをコピーします。
Cn.Execute"INSERT INTO table(field1,field2,...) VALUES("field1Value","field2Value",...)"
3. ID値を取得する
次のようにコードをコピーします。
Set Rss = Cn.Execute("SELECT SCOPE_IDENTITY() as newIDValue FROM table")
'Rs.Open sqlStr,Cn,3,1
新しいID = Rss("新しいID値")
4.newID は、追加したばかりのレコードの ID 値です。
5. ID 値を取得する 3 つの方法を添付します。
次のようにコードをコピーします。
/* テーブル内の最後の挿入操作によって生成された ID を取得したい場合は、IDENT_CURRENT('TBName') を使用するのが最適です*/
INSERT INTO table(field1,field2,...) VALUES("field1Value","field2Value",...) SELECT IDENT_CURRENT('recordID') as newIDValue
/*すぐに使用できるように、挿入したばかりの新しいレコード ID には SCOPE_IDENTITY() を使用するのが最も適切です*/
INSERT INTO table(field1,field2,...) VALUES("field1Value","field2Value",...) SELECT SCOPE_IDENTITY() as newIDValue
/*一連の操作で最後に自己増加するIDを取得したい場合は、@@IDENTITYを使用するのが最適です*/
INSERT INTO table(field1,field2,...) VALUES("field1Value","field2Value",...) SELECT @@IDENTITY as newIDValu