打印本文 打印本文 关闭窗口 关闭窗口
学习ADO和ODBC访问数据库的一些思路整理
作者:武汉SEO闵涛  文章来源:敏韬网  点击数3445  更新时间:2009/4/23 10:39:20  文章录入:mintao  责任编辑:mintao
作。

查询操作:

首先定义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);

修改操作、删除操作:

与添加操作类似,执行updatedelete语句

说明:每个函数中的初始化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]  下一页

打印本文 打印本文 关闭窗口 关闭窗口