たとえば、新しく作成された ID を結果セットとして出力する句を簡単に使用できますOUTPUT
。また、標準を使用して C# アプリからそれらを読み取ることができますSqlDataReader
。
INSERT INTO tbl (id)
OUTPUT Inserted.Id
SELECT COUNT(*) + 1 AS id from tbl
更新:句によって返されるデータは、通常のステートメントOUTPUT
のように C# 側からキャプチャできます。SELECT
string insertStmt = "INSERT INTO tbl (id) " +
" OUTPUT Inserted.Id " +
" SELECT COUNT(*) + 1 AS id from tbl";
using (SqlConnection conn = new SqlConnection(-your-connection-string-here-))
using (SqlCommand cmd = new SqlCommand(insertStmt, conn))
{
conn.Open();
// execute your INSERT statement into a SqlDataReader
using(SqlDataReader reader = cmd.ExecuteReader())
{
// read the values returned from the OUTPUT clause
while(reader.Read())
{
int insertedID = reader.GetInt32(0);
// do something with those values....
}
}
conn.Close();
}