我建了一个列表框和一个文本框,列表框已经和数据库连接好
我想在鼠标单击列表框的其中某一行时,
数据库里的“编号”内容会在文本框中出现,代码如下:

void Cchangshi::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult) 
{
           int pos;
    CString m_id;
    pos=m_Grid.GetSelectionMark();
    m_id=m_Grid.GetItemText(pos,0);
    CString sql;
    sql.Format("select*from picture where 编号='%s'",m_id);
    m_pRecordset.CreateInstance(__uuidof(Recordset));
    m_pRecordset->Open((_bstr_t)sql,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);

           m_pRecordset->Move((long)pos,vtMissing);//用MOVE方法将记录集指针移动到指定的记录
           
           m_listword.AddString((_bstr_t)m_pRecordset->GetCollect("编号"));向文本框中写内容
           m_pRecordset->Update();

}

大家帮我看看,为什么单击第二次时,程序出错呢?