日期:2014-05-16  浏览次数:21035 次

asp 用ODBC 连接SQLITE,如何获取刚插入记录的自增ID?
感觉没有ACCESS方便啊.
在ACCESS中,rs.update 后 自动得到Id,但sqlite好像不行.

------解决方案--------------------
sql = "select * from admin where 1=0"
rs.CursorLocation = 3
rs.open sql,conn,1,3
rs.addnew
rs("uname")="用户名"&i
rs("pwd")="密码"&i
rs("right")="r"&i
bk = rs.Bookmark
rs.update
rs.Bookmark = bk
id = rs("id")
rs.close
set rs = nothing
...
--------
另外 SQLITE有直接操作的COM组件,应该比用ADO性能好。
------解决方案--------------------
Rs.Open "SELECT * FROM [TABLE_NAME]",Conn,1,3
Rs.AddNew
Rs("fields")=Fields
....
Rs.Update
Rs.MoveLast
Id=Rs("id")
Rs.Close
Set Rs=Nothing
------解决方案--------------------
引用:
sql = "select * from admin where 1=0"
rs.CursorLocation = 3
rs.open sql,conn,1,3
rs.addnew
rs("uname")="用户名"&i
rs("pwd")="密码"&i
rs("right")="r"&i
bk = rs.Bookmark
rs.update
rs.Bookmark = bk
id = rs("id")
rs.close
set rs = nothing
...
--------
另外 SQLITE有直接操作的COM组件,应该比用ADO性能好。


看到bookmark我想问下,我一直用的是movelast,这个和bookmark的优劣能不能解释下?
之前在网上看过bookmark的用法,但是写那文章的人来了一句“看不懂bookmark的直接别写程序了”……好伤心- -
------解决方案--------------------
last_insert_rowid()试试

 The last_insert_rowid() function returns the ROWID of the last row insert from the database connection which invoked the function. The last_insert_rowid() SQL function is a wrapper around the sqlite3_last_insert_rowid() C/C++ interface function