บทความนี้ส่วนใหญ่จะแนะนำวิธีการสำหรับ ASP เพื่อขอรับค่า ID ของระเบียนใหม่ นอกจากนี้ ยังแนะนำวิธีการในการรับฐานข้อมูลทั้งสองของ ASP+Access2000 และ ASP+SQL Server 2000 เพื่อนที่ต้องการสามารถดูข้อมูลต่อไปนี้
ASP+Access2000
1. ต้องตั้งค่าแอตทริบิวต์ฟิลด์ค่า ID ที่จะได้รับเป็น: หมายเลขอัตโนมัติ (เราถือว่าชื่อฟิลด์เป็น recordID)
2. เพิ่มรูปแบบบันทึก: Rs.Open table,Cn,1,3
โปรดทราบว่าโหมดต่างๆ ได้แก่: 1,3
3.newID = rs.Fields("recordID")
4.newID คือค่า ID ของเรกคอร์ดที่เพิ่งเพิ่ม
ASP+SQL เซิร์ฟเวอร์ 2000
1. ต้องตั้งค่าแอตทริบิวต์ฟิลด์ค่า ID ที่จะได้รับเป็น: หมายเลขอัตโนมัติ (เราถือว่าชื่อฟิลด์เป็น recordID)
2. เพิ่มโหมดรหัสบันทึก:
คัดลอกรหัสรหัสดังต่อไปนี้:
Cn.Execute"INSERT INTO table(field1,field2,...) VALUES("field1Value","field2Value",...)"
3. รับค่า ID
คัดลอกรหัสรหัสดังต่อไปนี้:
ตั้งค่า Rss = Cn.Execute("SELECT SCOPE_IDENTITY() as newIDValue FROM table")
'฿เปิด sqlStr,Cn,3,1
newID = Rss("newIDValue")
4.newID คือค่า ID ของเรกคอร์ดที่เพิ่งเพิ่ม
5. สิ่งที่แนบมาด้วยคือสามวิธีในการรับค่า ID:
คัดลอกรหัสรหัสดังต่อไปนี้:
/* สำหรับผู้ที่ต้องการรับ ID ที่สร้างโดยการแทรกครั้งล่าสุดในตาราง วิธีที่ดีที่สุดคือใช้ IDENT_CURRENT('TBName')*/
INSERT INTO table(field1,field2,...) VALUES("field1Value","field2Value",...) SELECT IDENT_CURRENT('recordID') เป็น newIDValue
/*เหมาะสมที่สุดที่จะใช้ SCOPE_IDENTITY() สำหรับรหัสบันทึกใหม่ที่เพิ่งแทรกเพื่อใช้งานได้ทันที*/
แทรกลงในตาราง (field1, field2,...) VALUES("field1Value","field2Value",...) เลือก SCOPE_IDENTITY() เป็น newIDValue
/*หากคุณต้องการรับ ID ที่เพิ่มขึ้นเองล่าสุดในชุดการดำเนินการ วิธีที่ดีที่สุดคือใช้ @@IDENTITY*/
INSERT INTO table(field1,field2,...) VALUES("field1Value","field2Value",...) เลือก @@IDENTITY เป็น newIDValu