CDatabase m_LoginDatabase;
try
{
m_LoginDatabase.OpenEx(_T("DSN=student;UID='';PWD=''"));
}
catch (CDBException *e)
{
 MessageBox(NULL, "连接数据数据源失败!", "提示", MB_OK);
 e->Delete();
}

    
   
CRecordset m_LoginSet(&m_LoginDatabase);
try{
m_LoginSet.Open(CRecordset::dynaset,_T("Select * from student"));
}
catch (CDBException *e)
{
        MessageBox(NULL, "打开记录集失败!", "提示", MB_OK);
e->Delete();
 }
     while (!m_LoginSet.IsEOF()) 
 {
   m_LoginSet.AddNew();///添加新记录
我不知道后面怎么办了,现在我的CRecordset 是没有绑定的
或者是怎样对CRecordset 进行绑定,因为我是新手,请多多指教!

解决方案 »

  1.   

    这种情况完全可以不用CRecordset类!
    你可以先构造出一个向数据库中添加记录的SQL语句,然后用CDatabase类的ExecSQL()来执行这个插入语句,来达到目的CDatabase m_LoginDatabase;
    try
    {
    m_LoginDatabase.OpenEx(_T("DSN=student;UID='';PWD=''"));
    }
    catch (CDBException *e)
    {
    MessageBox(NULL, "连接数据数据源失败!", "提示", MB_OK);
    e->Delete();
    }
    CString strSQL = "INSERT INTO student(Name,Sex,Address) VALUES (";
    CString strContent;
    strContent.Format("'%s','%s','%s'");
    strSQL += strContent;m_LoginDatabase.ExecSQL(strSQL);
      

  2.   

    在通过ODBC时,直接使用SQL语句会破坏其无关性,但不用又不爽,唉,难啊
      

  3.   

    为什么还有错啊
    运行以后,
    'ExecSQL' : is not a member of 'CDatabase'怎么会是这样啊,再次请大家帮忙看看啊