亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

帶參數(shù)的sql和不帶參數(shù)的sql存儲(chǔ)過(guò)程區(qū)別第2/2頁(yè)

 更新時(shí)間:2008年09月03日 00:27:14   作者:  
來(lái)執(zhí)行我們sql語(yǔ)句,看到很多分頁(yè)存儲(chǔ)過(guò)程都是直接拼湊sql語(yǔ)句然后用exec('')執(zhí)行起來(lái)了,這個(gè)從效率和安全上面來(lái)說(shuō),都是不推薦的。

cmd.Connection.Open();
cmd.ExecuteNonQuery();
//第一次執(zhí)行結(jié)束
cmd.Parameters.Clear();
cmd.CommandText = "SELECT SCOPE_IDENTITY()";

//System.Diagnostics.Debug.Assert(cmd.ExecuteScalar()==null);

Console.WriteLine(cmd.ExecuteScalar().ToString());
//第二次執(zhí)行結(jié)束
cmd.Connection.Close();

Console.WriteLine("第一次測(cè)試結(jié)束");
Console.Read();

cmd.CommandText = "insert into lcs_Sys_Model ([Model_GUID],[Model_Name],[Model_Desp],[Model_IsSys]) values ( 'F3CD1369-58C0-4A1F-AF88-05FCF734E079','name','desp',1 )";
cmd.Connection.Open();
cmd.ExecuteNonQuery();

cmd.CommandText = "SELECT SCOPE_IDENTITY()";
Console.WriteLine(cmd.ExecuteScalar().ToString());
cmd.Connection.Close();
Console.WriteLine("第二次測(cè)試結(jié)束");
Console.Read();


本來(lái)想用參數(shù)化的sql插入一條記錄再取回自增的值的。發(fā)現(xiàn)數(shù)據(jù)庫(kù)端是這個(gè)執(zhí)行方式。那就沒(méi)戲啦。。。只能改變sql語(yǔ)句。把自增放到sql的最后去取啦。。

exec sp_executesql N'insert into LCS_Sys_Model ([Model_GUID],[Model_Name],[Model_Desp],[Model_IsSys]) values ( @Model_GUID,@Model_Name,@Model_Desp,@Model_IsSys)', N'@Model_GUID uniqueidentifier,@Model_Name nvarchar(50),@Model_Desp nvarchar(500),@Model_IsSys bit', @Model_GUID = 'F3CD1369-58C0-4A1F-AF88-05FCF734E079', @Model_Name = N'測(cè)試實(shí)體模型', @Model_Desp = N'實(shí)體模型描述', @Model_IsSys = 0

SELECT SCOPE_IDENTITY()


在查詢分析器里面最后確認(rèn)運(yùn)行一下。。。這二個(gè)是不同的范圍的,是取不到值的。。


最后提配一點(diǎn),為了性能和安全,我們?cè)趯?xiě)存儲(chǔ)過(guò)程的時(shí)候也要使用

exec sp_executesql '帶參數(shù)的sql語(yǔ)句','參數(shù)定義語(yǔ)句,多個(gè)參數(shù)用,號(hào)分隔',參數(shù)賦值1,參數(shù)賦值2,參數(shù)賦值3```

來(lái)執(zhí)行我們sql語(yǔ)句,看到很多分頁(yè)存儲(chǔ)過(guò)程都是直接拼湊sql語(yǔ)句然后用exec('')執(zhí)行起來(lái)了,這個(gè)從效率和安全上面來(lái)說(shuō),都是不推薦的。

相關(guān)文章

最新評(píng)論