下面的示例創建一個 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
}