我借鉴了网上的ADO的封装方法,封装了关于数据库的查询方法如下:
BOOL CDBManager::Query(CString sql, CObList& result)
{
    BOOL flag = TRUE;
    
    ::CoInitialize(NULL);
    _ConnectionPtr m_pConnection = NULL;
    _RecordsetPtr m_pRecordset = NULL;
    try
    {
        HRESULT hr = m_pConnection.CreateInstance(__uuidof(Connection));//创建连接实例
        _bstr_t strConnect= m_dbstr;//"Provider=SQLOLEDB;Server=192.168.1.64;Database=mserver; uid=mserver; pwd=mserver;";        m_pConnection->Open(strConnect,L"",L"",adModeUnknown);//打开连接
        if(m_pConnection==NULL)
            return FALSE;
                      // 创建记录集对象
        m_pRecordset.CreateInstance(__uuidof(Recordset));
                         // 取得表中的记录
        m_pRecordset->Open("select * from T_Mediaserver",m_pConnection.GetInterfacePtr(),
            adOpenDynamic,adLockOptimistic,adCmdText);        int columnsSize = m_pRecordset->Fields->GetCount();        while (!m_pRecordset->EndOfFile)
        {
            result.AddTail(new CMapStringToString);
            for(int j = 0; j < columnsSize; j++)
            {
                FieldPtr fPtr = m_pRecordset->Fields->GetItem((long)j);
                _variant_t vName = fPtr->Name;
                _variant_t vValue = fPtr->Value;
                CString name((WCHAR*)(_bstr_t)vName);
                CString value = _T("");
                if(vValue.vt != VT_NULL)
                    value.Format(_T("%s"),(WCHAR*)(_bstr_t)vValue);
                ((CMapStringToString*)result.GetTail())->SetAt(name,value);
            }
            m_pRecordset->MoveNext(); ///移到下一条记录
        }
        m_pRecordset->Close(); // 关闭记录集
    }
    catch(_com_error e)
    {
        flag = FALSE;
    }
    if(m_pRecordset->State)
        m_pRecordset->Close();
    if(m_pConnection->State)
        m_pConnection->Close();
    ::CoUninitialize();  return flag;
}
那么,我要在程序中怎么查询,并利用查询的结果?
比如,我要在一个名为Kvalue的表中查询一条ID为001的数据,并要把查到的这条记录中的各项分别显示到四个Edit编辑框中
具体应该怎么写 ,怎么操作?
我看了MSDN半天也没太搞懂coblist这东西。