| 作。 查询操作: 首先定义ADOConnection,执行初始化ADO连接; 根据查询条件取得记录集指针: _bstr_t mySql="select * from COURSES where CouID=''''"+m_CouID+"''''"; _RecordsetPtr myRecordset=myConnection.GetRecordset(mySql); 根据指针的返回情况进行处理。 添加操作: 首先根据实际情况判断所要添加的记录是否存在(类似查询); 若返回的指针是为空,则说明要添加的记录不存在,则可以执行insert: mySql="insert into COURSES values(''''"+m_CouID+"'''',''''"+m_CouName+"'''',"+CouScore+","+CouTea+",''''"+m_CouKind+"'''')"; myConnection.ExecuteSql(mySql); 修改操作、删除操作: 与添加操作类似,执行update和delete语句 说明:每个函数中的初始化ADOConnection和释放应相对应。 与方法1相比,不需要单条操作记录集,记录集指针也可以声明多个,执行sql语句更方便。 记录集的初始化可以通用到ADOConnection类中,而无需方法1中在不同的类中初始化各自的记录集。 二、 使用ODBC连接数据源 一般来说建立基于文档视图的应用程序时,使用此方法连接数据源。 1. 使用CDatabase类中的executesql执行SQL语句 当创建基于单文档的应用程序时,若在第二步选择database view with file support,则需要配置ODBC数据源(如student表),并且生成的应用程序的基类为recordview。那么生成的应用程序的Doc类中将自动生成所绑定的数据集类(cstudentset m_studentset),View类中将自动生成(cstudentset *m_pset)。 连接数据库: 对数据库的连接要重载BOOL CStudentDoc::OnNewDocument(): 在该函数中加入这样的代码(m_database是我在文档类中定义的成员变量CDatabase): if(m_pStudentSet==NULL) { m_pStudentSet=new CStudentSet(&m_database); CString strConnect=m_pStudentSet->GetDefaultConnect(); m_database.Open(NULL,false,false,strConnect,false); } 这里m_pStudentSet是在该文档类中重新定义的一个CStudentSet记录集指针 至此可以建立应用程序与数据库的连接。 添加记录操作: 在相应函数中声明CDatabase m_database 在函数中定义CStudentSet mySet(&m_database); 再打开记录集myset.open(); mySet.AddNew(); CString mySql; mySql="insert into STUDENTS(StuID,StuName) values(''''"+m_pSet->m_StuID+"'''',''''"+m_pSet->m_StuName+"'''')"; m_database.ExecuteSQL(mySql); mySet.Update(); 删除记录、修改记录操作: 在函数中定义CStudentSet mySet(&m_database); 再打开记录集myset.open(); mySet.Edit(); mysql=……. 上一页 [1] [2] [3] [4] 下一页 |