2012-09-04 84 views
3

我有一個ms sql表PRODUCTS。我想獲得新的插入行的ID和時間戳(如多選擇scope_identity)。我想要獲得新的插入行的ID和時間戳(如多選擇scope_identity)。 我能做到這一點的SQL如下:vb.net sqlclient插入輸出

INSERT INTO PRODUCTS (NAME) 
OUTPUT inserted.ID,inserted.TSTAMP 
VALUES ('Example Product') 

但我怎麼能與insertation sqlclient.sqlcommad讀它在vb.net?我必須使用哪一個sqlcommand函數? ExecuteReader也許?

回答

2

使用的的ExecuteReader()方法的SqlCommand將工作一樣與SELECT

OUTPUT子句就像一個SELECT語句,但它的使用在 INSERT,UPDATE不同,DELETE命令

下面是一個示例代碼。嘗試一下。

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