一次性提交多条记录?

bphantom 2003-03-28 03:30:24
比如下面的代码:
m_pSet->m_pDatabase->BeginTrans();
m_pSet->AddNew();
m_pSet->m_id = "001";
m_pSet->m_name = "张";
m_pSet->AddNew();
m_pSet->id = "002";
m_pSet->m_name = "李";
.........插入了几条或更多条;
if(m_pSet->Update())
m_pSet->m_pDatabase->CommitTrans();
else
m_pSet->m_pDatabase->RollBack();
我想要的是上面插入的多条记录一次性提交的,结果只有最后一条被提交了,其它的
并没有存入缓冲区被提交。该怎么整呢?不可能添加一条提交一条吧,这样很费服务器资源的。要用数组吗?是什么样的呢?
...全文
50 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
mymmsc 2003-05-22
  • 打赏
  • 举报
回复
我来学习一下。
bm1408 2003-03-28
  • 打赏
  • 举报
回复
同意small_wei;
不过可以用SQL!
tomew 2003-03-28
  • 打赏
  • 举报
回复
同意small_wei,

楼主为什么不用insert语句呢,就不需要用m_pSet->Update()
cool_ice 2003-03-28
  • 打赏
  • 举报
回复
呵呵,small_wei的方法是最简单的想法了,不过很有效的。
small_wei 2003-03-28
  • 打赏
  • 举报
回复
每个addnew后一定要update,否则addnew不成功。
m_pSet->m_pDatabase->BeginTrans();
m_pSet->AddNew();
m_pSet->m_id = "001";
m_pSet->m_name = "张";
m_pSet->Update()); //加上
m_pSet->AddNew();
m_pSet->id = "002";
m_pSet->m_name = "李";
m_pSet->Update()); //加上
.........插入了几条或更多条;
if(m_pSet->Update())
m_pSet->m_pDatabase->CommitTrans();
else
m_pSet->m_pDatabase->RollBack();
skysaint 2003-03-28
  • 打赏
  • 举报
回复
楼主东北人吗?咋整尼?:)
写存储过程吧。
CCBeyond 2003-03-28
  • 打赏
  • 举报
回复
你要实现回滚的话,最好写成存储过程。
上面的代码,肯定只有最后一条被提交, 因为你只Update了一次。

4,012

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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