gpt4 book ai didi

sqlite - 如何使用 VB6 在 SQLite 中返回 AUTO INCREMENT 列的值

转载 作者:IT王子 更新时间:2023-10-29 06:19:55 25 4
gpt4 key购买 nike

我在 SQLite 中有一个表:

CREATE TABLE "EventType" 
(
[EventTypeID] INTEGER PRIMARY KEY,
[EventTypeName] VARCHAR(50) NOT NULL UNIQUE
);

由于 EventTypeID 是一个整数和一个主键,这会自动使其成为一个自动递增的列,并且可以正常工作。

我想在表中插入一行并从 VB6 中获取新增加的值。

Dim oRs as Recordset
dim oCmd as new Command

oCmd.ActiveConnection = GetConnection()
oCmd.Source = "insert into EventType (EventTypeName) values ('blah')"
oCmd.Execute

是否有一种自动检索新创建的 EventTypeID 的方法,而无需发出另一个查询(select max(EventTypeID) from EventType))?

我似乎记得很久以前的 VB6,有一种方法可以做到这一点。

最佳答案

Does SQLite support SCOPE_IDENTITY?

Check out the FAQ. The sqlite3_last_insert_rowid() function will do it. Careful of triggers though

未测试,但您应该能够在一次调用中发送这两个语句。自从我编写任何 VB6 以来已经有一段时间了。这也不是 SQL 注入(inject)安全的。

Dim oRs as Recordset
dim sSql as String
sSql = "INSERT INTO EventType (EventTypeName) VALUES ('blah'); SELECT last_insert_rowid() FROM EventType"
oRs.Open sSql oConn

关于sqlite - 如何使用 VB6 在 SQLite 中返回 AUTO INCREMENT 列的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/531109/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com