C#中封装的数据库操作怎么再转换成SQL语句,封装成一个事务,然后UPDATE数据库?

rogetshao0001 2017-04-15 05:16:17
用SQLite开发了一个小程序,程序中对数据库的操作利用了C#封装的dataset,datatable,在结束时采用DATAADAPTER.UPDATE写入数据库,结果发现这样操作的数据库执行效率很低,原因是SQLite每一条指令都需要把数据表重新加载,导致大量的IO。解决方法是要把SQL语句封装成一个事务,这样只有一次IO,但是怎么把dataset,datatable的操作转换成SQL语句呢?或者是否还有其它方法,把UPDATE封装成一个事务呢?

代码如下,怎么修改?

using (SQLiteTransaction tran = SQLiteConnection1.BeginTransaction())
{
foreach (DataRow drCurrent in myTables2.Rows)
{
drCurrent2 = mySQLiteTables2.NewRow();
drCurrent2["词组"] = drCurrent["词组"];
drCurrent2["词频"] = stoi(drCurrent["词频"].ToString());
mySQLiteTables2.Rows.Add(drCurrent2);

string cmdInsertText = "insert into 词组表 values(@词组,@词频)";//设置带参SQL语句
this.SQLiteDataAdapter2.InsertCommand = new SQLiteCommand(cmdInsertText,SQLiteConnection1,tran);
this.SQLiteDataAdapter2.InsertCommand.ExecuteNonQuery();
}
tran.Commit();
}
...全文
270 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

7,713

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧