将Clistctrl控件中的数据保存到数据库的问题???

dic_008 2011-10-04 12:35:17

void dialog1::OnBtnSave()
{
UpdateData(TRUE);

ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();


CString sql;
CString kcmc,sfzk,yxj,lsjs;
for (int i=0;i<m_KCxx.GetItemCount();i++)
{
kcmc=m_KCxx.GetItemText(i,0);
sfzk=m_KCxx.GetItemText(i,1);
yxj=m_KCxx.GetItemText(i,2);
lsjs=m_KCxx.GetItemText(i,3);

sql.Format("INSERT INTO kcxx VALUES('%s','%s','%s','%s')",kcmc,sfzk,yxj,lsjs);

_RecordsetPtr m_pRecordset;
m_pRecordset=m_AdoConn.GetRecordSet((_bstr_t)sql);

m_AdoConn.ExecuteSQL((_bstr_t)sql);

}

MessageBox("保存成功");
}

保存是保存进去了,可是竟然保存了相同的两条记录。
就行这样 1 2 3 4
1 2 3 4
我这只要1 2 3 4这么一条,为什么插入两条???

我没多少分,只有这么点了。
...全文
114 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
caddor2011 2011-10-05
  • 打赏
  • 举报
回复
lz ADOConn的这个类是自定义的吧, 百度一下,果然是这样的。。。


Open与Execute是有区别的

记录集的Open是可以返回结果的,

而连接对象的Execute是没有的


zyq5945 2011-10-05
  • 打赏
  • 举报
回复
恭喜恭喜~
dic_008 2011-10-04
  • 打赏
  • 举报
回复
自己先顶一个
dic_008 2011-10-04
  • 打赏
  • 举报
回复
m_pRecordset=m_AdoConn.GetRecordSet((_bstr_t)sql);

m_AdoConn.ExecuteSQL((_bstr_t)sql);
这两句注释掉一句均可以,都怪自己太粗心了.ADO连接对象Open与Execute成员函数均是执行SQL语句的。虽然向数据库中插入了数据但是插入的地方还是有不小区别。
dic_008 2011-10-04
  • 打赏
  • 举报
回复
求解答

4,011

社区成员

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

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