下面的示例創建一個 SqlCommand,然後使用 ExecuteScalar 執行它。向該示例傳遞兩個字符串,一個字符串表示要插入到表中的新值,另一個字符串用於連接至數據源。如果已插入新行,則此函數會返回新的“Identity”列值,如果失敗,則返回 0。
01
static
public
int
AddProductCategory(
string
newName,
string
connString)
02
{
03
Int32 newProdID = 0;
04
string
sql =
05
"INSERT INTO Production.ProductCategory (Name) VALUES (@Name); "
06
+
"SELECT CAST(scope_identity() AS int)"
;
07
using
(SqlConnection conn =
new
SqlConnection(connString))
08
{
09
SqlCommand cmd =
new
SqlCommand(sql, conn);
10
cmd.Parameters.Add(
"@Name"
, SqlDbType.VarChar);
11
cmd.Parameters[
"@name"
].Value = newName;
12
try
13
{
14
conn.Open();
15
newProdID = (Int32)cmd.ExecuteScalar();
16
}
17
catch
(Exception ex)
18
{
19
Console.WriteLine(ex.Message);
20
}
21
}
22
return
(
int
)newProdID;
23
}