主要内容:
?
?
?
?
?
?
?
?
?
?
?
MFC OBDC技术
概述
MFC的ODBC类对较复杂的ODBC
?
?
?
?
?
CDatabase类操作数据源
CDatabase类型的对象表示一个到数据源的连接,通过它可以操作数据源。
该类的成员函数如下表:
函数 |
说明 |
CDatabase |
构造一个对象 |
Close |
关闭数据源连接 |
Open |
通过一个ODBC驱动程序创建到数据源的连接 |
OpenEx |
通过一个ODBC驱动程序创建到数据源的连接 |
BeginTrans |
开始事务 |
BindParameters |
允许在调用CDatabase::ExecuteSQL前绑定参数 |
Cancel |
取消异步操作或第二条线程中的过程 |
CommitTrans |
执行事务 |
ExecuteSQL |
执行SQL语句,不返回记录 |
Rollback |
回滚事务,数据源返回先前的状态 |
该类的属性属性如下表:
属性 |
说明 |
CanTransact |
如果数据源支持事务,返回非零 |
CanUpdate |
如果CDatabase可以更新,返回非零 |
GetBookmarkPersistence |
获得书签对记录集对象的持久性 |
GetConnect |
返回ODBC连接串 |
GetCursorCommitBehavior |
获得提交事务对记录集对象的影响 |
GetCursorRollbackBehavio |
获得回滚事务对记录集对象的影响 |
GetDatabaseName |
返回当前使用的数据库名 |
IsOpen |
如果当前CDatabase对象连接到数据源,返回非零 |
SetLoginTimeout |
设置数据源连接的超时数(秒为单位) |
SetQueryTimeout |
设置查询操作的超时数(秒为单位) |
应用程序可使用多个CDatabase类型的对象。构造一个对象并调用Open()成员函数打开一个连接。接着构造CRecordset类型的对象以操作连接的数据源,构造时向记录集对象传递CDatabase类型的指针。完成使用后,用Close()成员函数销毁CDatabase类型的对象。
一般情况下并不需要直接使用CDatabase类型的对象,因为CRecordset类型的对象可以实现大多数的功能、但是在进行事务处理时,CDatabase就起到关键作用。事务(Transaction)指的是将一系列对数据源的更新放在一起,同时提交或一个都不提交,为的是确保多用户对数据源同时操作时的数据正确性。
CRecordset类操作记录集
一个CRecordset类型的对象代表从数据源选择的一组记录的集合——记录集,通过该类的方法实现对数据库中记录的各种操作。
该类常用的数据成员如下表:
成员 |
说明 |
m_hstmt |
包含记录集的ODBC陈述句柄,类型为HSTMT |
m_nFields |
包含记录集中字段数据成员的数量,类型为UNIT |
m_nParams |
包含记录集中参数数据成员的数量,类型为UNIT |
m_pDatabase |
包含一个CDatabase对象指针,通过它访问数据源 |
m_strFilter |
包含CString对象,定义SQL中WHERE子句 |
m_strSort |
包含CString对象,定义SQL中ORDER |
该类的构造方法如下表:
构造方法 |
说明 |
||
Close |
|