sql - vb.net sqlclient 插入输出

标签 sql sql-server vb.net sqlcommand

我有一个 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/

相关文章:

sql - MySql 获取日期值之间的行

sql-server - SQL Server : How do I increase the size of the transaction log?

sql - 年月减去月份

asp.net - 每次标记复选框时 VB.NET 页面都会重新加载

asp.net - VB.net 向父级抛出错误

asp.net - 如何调整图表控件的保真度?

sql - 使用 NEWID() 从表中检索随机行

mysql - 合并两个表并在列中分配 1/0

sql-server - 如何修复 SQL Server 中阿拉伯文与英文混合的反向字符

c# - BinaryWriter Endian 问题