比如说,CRecordset* m_pset;
................
然后m_pset->open(CRecorset:snapshot,"select * from tb1");
m_pset->movefirst();
while (!m_pset->ISeof())
{
m_pset->edit();
////////在这里我想修改属性值,什么修改阿?

}
我查了很多都没有这方面的知识。要用什么命令啊???
谢谢!

解决方案 »

  1.   

    直接用m_pset->字段名=你的值;修该你想该的属性值
    然后用update吧
      

  2.   

    同意laiyiling(Coder)。很简单的问题。
    while (!m_pset->ISeof())应该是while (!m_pset->IsEOF())才对。
      

  3.   

    什么->字段名啊?这样的话编译说没定义,并且字段名是未知的,或动态的。
    不是用什么CRecordView来实现。是动态的打开一个未知的表
    另外to:liuyiuhui(风筝线) 编码的大小写暂时不考虑,我只要一个思想。
      

  4.   

    laiyiling(Coder)所说的字段名就是你的数据库表中的各个字段所对应的变量名。
    例如。如果你的表中有两个字段,分别是User和password。那么这两个字段在你的程序中所对应的变量就是m_User和m_password。你要修改他们的值直接用m_pSet->mUser = "...";然后Update就可以了。如果你的表中的字段是中文名的话,那么他们在你的程序中所对应的变量就是m_column1和m_column2,明白了吗??
      

  5.   

    CDatabase m_db;
    CRecordset* m_pset;
    .......
    strDB="DSN=dBASE Files;DefaultDir="+str_Dir;
    if(m_db.IsOpen())
        m_db.Close();
    m_db.OpenEx(strDB);
    m_pset=new CRecordset(&m_db);
    m_pset->Open(CRecordset::snapshot,"select * from tb1");
    m_pset->MoveFirst();
    m_pset->Edit();
    m_pset->m_column1="asdas";
    m_pset->Update();
    error C2039: 'm_column1' : is not a member of 'CRecordset'
    如果直接用属性名m_pset->m_size="asdas";
    error C2039: 'm_size' : is not a member of 'CRecordset'
      

  6.   

    要不然换个方式问一下,我看到很多表格的修改都是通过调用DoFieldExchange函数来实现的,里面有个函数RFX_Int(pFX, "Age", m_wAge);
    我后来考虑直接调用这个函数。但我不知道什么获得pFX这个变量。
    所以现在的问题是什么获得CFieldExchange* pFX这个变量。
    谢谢!
      

  7.   

    表格名我通过一个OpenFiledlg来指定。
    然后要什么按位置来修改呢?
      

  8.   

    帮帮忙啊,那位大哥。
    不要让我每修改一个值都要执行一次Update的SQL语句。
      

  9.   

    什么头文件啊?
    我只在 stdafx.h 里包含#include <afxdb.h>
    表格是这么指定的:
    if (file_dlg.DoModal()==IDCANCEL)
    return;
    m_TableName1=file_dlg.GetFileName();
      

  10.   

    在建立类向导中你要建一个对应表tbl的记录集类 然后把m_pset指向你建的类