网络编程 
首页 > 网络编程 > 浏览文章

ASP获取新增记录ID值的方法

(编辑:jimmy 日期: 2024/11/27 浏览:3 次 )

ASP+Access2000

1.要获取的ID值字段属性必须设为:自动编号(我们假设字段名为recordID)
2.添加记录格式:Rs.Open table,Cn,1,3
注意模式为:1,3
3.newID = rs.Fields("recordID")
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
newID = Rss("newIDValue")

4.newID为刚添加的记录的ID值
5.附上取得ID值的三种方式:
/* 对于想要得到一个表中的最后一个插入操作所产生的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 newIDValue

ASP获取刚插入记录值ID补充

实例1

 Set rs = server.CreateObject("adodb.recordset")
      sql = "select * from M_mess"
  rs.open sql,conn,3,2
      rs.addnew
      rs("title") = title
      rs("nr") = nr
  rs("username")=tel
  rs("adddate")=now()
  rs("zt")=0
  rs("lx")=1
  rs("xxgl")=uname
  rs("nrid")=ids
  rs("lszt")=0  
      rs.update
      rs.movelast
      newid = rs("id")
      rs.Close
      Set rs = Nothing

实例2

conn.Execute("insert into 
Tb_Order(CT_Name,CT_Ideny,CT_Tel,JD_Name,P_Number,P_Time,Hit) 
VALUES('"&vCT_Name&"','"&vCT_Ideny&"','"&vCT_Tel&"','"&vJD_Name&"',
'"&vP_Number&"','#"&vP_Time&"#','0')")
Set Rss = conn.Execute("SELECT @@IDENTITY as id FROM Tb_Order")
newID = Rss("id")
conn.Execute("update Tb_Order set Look_Id='"&newID&"' where Order_Id='"&newID&"'")
conn.close

注:access 不能用@@identity

上一篇:Microsoft JET Database Engine(0x80004005)未指定错误的解决方法
下一篇:ASP中保留小数点后两位数的方法(使用FormatNumber)
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 网站地图 SiteMap