rt

解决方案 »

  1.   

    CDatabase db;
    db.OpenEx("DRIVER={SQL Server};Server=Cell;DATABASE=zhg;UID=sa;PWD=;");//change Cell to your computer name
    //change zhg to your database name
    CRecordset rs(&db);
    rs.Open(AFX_DB_USE_DEFAULT_TYPE,"select type,AVG(price)'average price' From title  where type<>'business' group by type");
    while(rs.IsEOF()==false)
    {
    CString str;
    CString strtype;
    rs.GetFieldValue((short)0,strtype);
    CDBVariant varprice;
    rs.GetFieldValue(1,varprice);
    str.Format("type:%s,avg(price):%f",strtype,varprice.m_dblVal);
    AfxMessageBox(str);
    rs.MoveNext();
    }
    rs.Close();
    db.Close();
      

  2.   

    ***************************************************************/
    void CMyView::OnCardNew() 
    {
    //监测dao数据库对象的有效性,并在纪录集对象打开时关闭该记录集
       if(!m_pDatabase->IsOpen())
       return;
       if(!m_pRecordset)
       return;
       if(m_pRecordset->IsOpen())
       m_pRecordset->Close(); CCardregist dlg;
        if(dlg.DoModal()!=IDOK)
    return;
    CString userid=dlg.m_userid;
    CString username=dlg.m_username;
    CString dept=dlg.m_dept;
    CString strSql,str;
        ////////////////////////////////////////////////////////////////
    //判断已经存在该用户
    strSql.Format("select * from 用户信息");
    m_pRecordset->Open(dbOpenDynaset,strSql);
    str.Format("读者号='%s'",userid);
    if(m_pRecordset->FindFirst(str))
    {
    str.Format("该用户ID已经存在,请重新输入!");
    AfxMessageBox(str);
    return;
    }
    m_pRecordset->Close();
    //////////////////////////////////////////////////////////////////
    strSql.Format("insert into 用户信息(读者号,读者姓名,单位,借阅书目个数,是否停用) values('%s','%s','%s',0,'no')",
    userid,username,dept);//执行插入语句
    try{
    if(m_pDatabase->CanUpdate())
    m_pDatabase->Execute(strSql, dbDenyWrite|dbConsistent);
    }
    catch(CDaoException* e){
    e->ReportError();
    e->Delete();
    return;
    }
    }
      

  3.   

    使用CDatabase类,其中有一个Execute()函数是专门做这个事情的