Release of DbHelper 1.2.1

本文介绍DbHelper的优化方法,通过预构建IDbCommand与IDataParameter提高批量数据插入效率。示例展示如何使用Build方法创建Command对象,在循环中执行减少资源消耗。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DbHelper增加了两个Build方法分别构建IDbCommand与IDataParameter,同时增加了接受IDbCommand的接 口,这样做是为了在需要重复执行某个Command时不需要每次都重新构建Command浪费效率,现在可以用Build方法先构建出Command对 象,然后在循环中执行这个command,如下示例。

 1 None.gif IDbHelper helper  =   new  SqliteHelper( this .connection);
 2 None.gif
 3 None.gifIDbCommand insertCommand  =  helper.BuildCommand(
 4 None.gif    " INSERT INTO Test VALUES(NULL, @num, @r_date, @data) " ,
 5 None.gif    1 , DateTime.Now,  new   byte [ 0 ]);
 6 None.gif
 7 None.gifSQLiteConnection con  =   new  SQLiteConnection();
 8 None.gifcon.ConnectionString  =   this .connection.ConnectionString;
 9 None.gif
10 None.gifcon.Open();
11 None.gif
12 None.gifIDbTransaction transaction  =  con.BeginTransaction(
13 None.gif   IsolationLevel.ReadUncommitted);
14 None.gifinsertCommand.Transaction  =  transaction;
15 None.gif
16 ExpandedBlockStart.gifContractedBlock.gif try   dot.gif {
17ExpandedSubBlockStart.gifContractedSubBlock.gif   for (int i = 0; i < 100; i++dot.gif{
18InBlock.gif      helper.ExecuteCommand(insertCommand, i + 1, DateTime.Now, null);
19ExpandedSubBlockEnd.gif   }

20InBlock.gif   transaction.Commit();
21ExpandedBlockStart.gifContractedBlock.gif}
  catch   dot.gif {
22InBlock.gif   transaction.Rollback();
23ExpandedBlockStart.gifContractedBlock.gif}
  finally   dot.gif {
24InBlock.gif   con.Close();
25ExpandedBlockEnd.gif}

26 None.gif

关于DbHelper,请参看:

http://cavingdeep.cnblogs.com/category/37490.html

下载及Announcements

http://dbhelper.tigris.org

转载于:https://www.cnblogs.com/cavingdeep/archive/2005/11/03/268026.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值