我定义了一个CDatabase 对象,并建立与数据库的连接
CDatabase dbase;
dbase.OpenEx (_T("DSN=book;UID=SA;PWD=SA"), CDatabase::noOdbcDialog) )又定义了一个记录集类 CWorkerSet,将之前建立了连接的 dbase 地址传给m_dbWorkerSet:(如下)
CWorkerSet m_dbWorkerSet(&dbase)
m_dbWorkerSet.Open ()以上执行都正常,但我发现m_dbWorkerSet不能执行Update(),AddNew()等等函数
而如果不将dbase传给m_dbWorkerSet,即执行:
CWorkerSet m_dbWorkerSet;
m_dbWorkerSet.Open ();
则可以执行Update()等函数,这是怎么回事,请高手帮帮忙!!

解决方案 »

  1.   

    换个用户名还是不行啊!
    HOW CAN I DO!
      

  2.   

    dbase.CanUpdate()返回TRUE,但m_dbWorkerSet.CanUpdate()却返回FALSE。真是快晕了!
      

  3.   

    to beijingshizi:
      但我已经把所有的代码都写好了,再改...
      

  4.   

    我发现m_dbWorkerSet是以只读方式打开的,但我没指明是以只读方式打开呀,难道驱动程序不支持更新,但为什么CWorkerSet m_dbWorkerSet;
    m_dbWorkerSet.Open ();这样又可以执行更新操作呢?不明!