我有一个 ms sql 表产品。
它有三列 ID (int),NAME (nvarchar),TSTAMP (timestamp)
我想获得新插入的行的 id 和时间戳(如多选 scope_identity)。
我可以在 sql 中实现,如下所示:
INSERT INTO PRODUCTS (NAME)
OUTPUT inserted.ID,inserted.TSTAMP
VALUES ('Example Product')
但是如何在插入时使用 sqlclient.sqlcommad 在 vb.net 中读取它?我必须使用 sqlcommand 的哪个函数以及如何使用? ExecuteReader 也许?
最佳答案
使用 ExecuteReader() SqlCommand 的方法与 SELECT 的工作方式相同。
OUTPUT clause works like a SELECT statement but its usage differs in INSERT, UPDATE and DELETE commands
这是一个示例代码。试试看。
Dim connString As String = "server=Test; database=Test;" + _
"uid=sa; pwd="
Dim conn As New SqlConnection(connString)
Dim cmdString As String = "INSERT INTO PRODUCTS (NAME) " + _
"OUTPUT inserted.ID,inserted.TSTAMP " + _
"VALUES ('Example Product')"
Dim cmd As New SqlCommand(cmdString, conn)
conn.Open()
Dim reader As SqlDataReader = cmd.ExecuteReader()
conn.Close()
这是一些链接
Running The OUTPUT Clause From C#
Implementing the OUTPUT Clause in SQL Server 2008
关于sql - vb.net sqlclient 插入输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12258614/