您的位置:首页 > 其它

MFC控件之list control(续)---ado

2012-08-07 16:40 281 查看
mfc通过ado连接数据库,然后用list control 显示,且对数据要进行修改、增加、删除等操作

1、在list control中应该增加事件:LVN_ITEMCHANGED,在事件响应函数中增加对应数据库智能指针移动代码:

POSITION pos = m_testList.GetFirstSelectedItemPosition();

int i = m_testList.GetNextSelectedItem(pos);

if (i < 0)

{

return;

}

try

{

m_pRecordset->MoveFirst();

m_pRecordset->Move(long(i));

//m_testList.SetCheck(i);

}

catch(_com_error e)

{

AfxMessageBox(e.Description());

}

这样的话,点击list control中的某一行,数据库中也对应移到改行

2、插入数据

m_pRecordset->AddNew();

m_pRecordset->PutCollect("ParamType",_variant_t(a_type));

m_pRecordset->PutCollect("ParamName",_variant_t(a_param));

m_pRecordset->PutCollect("ParamValue",_variant_t(a_value));

m_pRecordset->Update();

3、更新或修改数据

m_pRecordset->PutCollect("ParamType",_variant_t(a_type));

m_pRecordset->PutCollect("ParamName",_variant_t(a_param));

m_pRecordset->PutCollect("ParamValue",_variant_t(a_value));

m_pRecordset->Update();

4、删除数据

m_pRecordset->Delete(adAffectCurrent);

m_pRecordset->Update();

5、显示数据

var = m_pRecordset->GetCollect("ParamType");

if (var.vt != VT_NULL)

{

configType = (LPCSTR)_bstr_t(var);

}

m_testList.InsertItem(i,configType,0);

注:创建连接的时候,m_pConnection.CreateInstance(__uuidof(Connection));默认写的时候是

m_pConnection->CreateInstance(__uuidof(Connection));此时编译是通不过的,必须把“->”改为“.”才行
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: