我按照MFC   appWizard一步步加入数据源,然后建了一个按钮,按钮代码如下: 
void   CAttack2View::OnTagAdd()   
{ 
m_pSet-> AddNew();
m_pSet-> m_TagID2=m_Tagid; 
m_pSet-> m_Data=m_TagData; 
    m_pSet-> Update(); 
m_pSet-> MoveLast(); 
UpdateData(); 
} 
其中的变量都在前面定义好了, 
如此运行的结果是 "记录集是只读 "
但是,当我加入语句m_pSet-> Open(AFX_DB_USE_DEFAULT_TYPE,NULL);提示为“无效的游标”
怎么会这样呢?先前有人问过这个问题,大家给的答案很杂啦,而且我不知道怎么实现的说~~~(原谅初学者) 数据源是access的
能给个简便的解决办法吗? 
m_pSet-> Open(AFX_DB_USE_DEFAULT_TYPE,NULL); 
这句有问题。 
if(m_pSet-> Open(AFX_DB_USE_DEFAULT_TYPE, "select   *   from   tokui ")) 
{ 
m_pSet.AddNew(); 
m_pSet-> m_TagID2=m_Tagid; 
                                    m_pSet-> m_Data=m_TagData; 
m_pSet.Update(); 
} 
m_pSet.Close(); 
你在试试。 
UpdateData() 
写在代码前面,数据源建立的对么? 
我看别人的帖子里说MFC好像不加where语句就会有这样的问题 
我干脆直接executeSQL就没有问题了 
怪死了
rs.open(CRecordset::dynaset,...); 
表中必须有主键,否则不能插入,不要问我为什么,我也不知道微软为什么比较变态。