最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mssql2008 自定義表類型實(shí)現(xiàn)(批量插入或者修改)

 更新時(shí)間:2013年01月24日 16:12:48   作者:  
在做大型網(wǎng)站或者系統(tǒng)的時(shí)候,經(jīng)常會(huì)遇到個(gè)問(wèn)題就是批量插入或者修改數(shù)據(jù)庫(kù);今天這邊不講SqlBulkCopy,只簡(jiǎn)單講sql自定義表類型,感興趣的朋友可以了解下哦,希望本文對(duì)你有所幫助
在做大型網(wǎng)站或者系統(tǒng)的時(shí)候,經(jīng)常會(huì)遇到個(gè)問(wèn)題就是批量插入或者修改數(shù)據(jù)庫(kù)。如果遇到這個(gè)問(wèn)題,還是一條條記錄來(lái)處理,這樣的效率太低了,所以要考慮批量插入或者修改

今天這邊不講SqlBulkCopy,只簡(jiǎn)單講sql自定義表類型。因?yàn)槟壳暗捻?xiàng)目我用到了分表的方式,用存儲(chǔ)過(guò)程比較方便自動(dòng)創(chuàng)建分表。現(xiàn)在把我目前寫的功能簡(jiǎn)單做個(gè)記錄,也方便以后自己查閱

第一步,在數(shù)據(jù)庫(kù)里點(diǎn)擊 新建查詢 創(chuàng)建相應(yīng)的sql
復(fù)制代碼 代碼如下:

--======自定義表類型Demo======
--創(chuàng)建表
create table tab
(
tabvalue varchar(10)
)
go
--創(chuàng)建自定義表類型
create type Type_tab as table
(
Type_tabvalue varchar(10)
)
go
--創(chuàng)建 存儲(chǔ)過(guò)程
create procedure p_Tab
(
@ptab Type_tab readonly
)
as
begin
insert into tab select * from @ptab
end
--sql 測(cè)試表類型 type1
declare @tt Type_tab
insert into @tt values('a')
insert into @tt values('b')
insert into @tt values('c')
insert into tab select * from @tt
select * from tab
--sql 測(cè)試表類型 type2
declare @tt2 Type_tab
insert into @tt2 values('a')
insert into @tt2 values('b')
insert into @tt2 values('c')
execute p_Tab @tt2

第二步 asp.net 調(diào)用 存儲(chǔ)過(guò)程
復(fù)制代碼 代碼如下:

using (SqlConnection conn =SqlHelper.Settings.GetSqlConnection(true))
{
try
{
DataTable DtAdd = new DataTable();
DtAdd.Columns.Add("tabvalue");
DtAdd.Columns["tabvalue"].DataType = System.Type.GetType("System.String");
foreach (ModelEnt rl in List)
{
DataRow Dr = DtAdd.NewRow();
Dr["tabvalue"] = rl.tabvalue;
DtAdd.Rows.Add(Dr);
}
//int Rt = SqlHelper.SqlHelper.SqlBulkCopy(DtAdd, TableName, conn);
SqlCommand cmd = new SqlCommand("p_Tab", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@ptab", SqlDbType.Structured).Value =DtAdd;
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
return cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
#if DEBUG
throw ex;
#else
return -10000;
#endif
}
finally
{
conn.Close();
}

ModelEnt 是tab表對(duì)應(yīng)的實(shí)體類。list 是ModelEnt 的一個(gè)集合,這樣可以實(shí)現(xiàn)多個(gè)row,這樣就能一次插入多條記錄。

相關(guān)文章

最新評(píng)論

河池市| 固安县| 城市| 南投县| 余江县| 中方县| 交城县| 阿巴嘎旗| 色达县| 新龙县| 绩溪县| 琼海市| 双桥区| 同仁县| 岑溪市| 仙游县| 新田县| 高邮市| 普兰县| 阳朔县| 望奎县| 淳安县| 盐津县| 太湖县| 龙口市| 瓦房店市| 西畴县| 怀来县| 通江县| 乳源| 林口县| 泸水县| 柳州市| 西贡区| 德州市| 鹰潭市| 华宁县| 文安县| 鄂伦春自治旗| 汶川县| 郴州市|