VC++数据库编程之MFC+ODBC

VC++数据库编程之MFC+ODBC

ID:40755596

大小:36.50 KB

页数:4页

时间:2019-08-07

VC++数据库编程之MFC+ODBC_第1页
VC++数据库编程之MFC+ODBC_第2页
VC++数据库编程之MFC+ODBC_第3页
VC++数据库编程之MFC+ODBC_第4页
资源描述:

《VC++数据库编程之MFC+ODBC》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、在vc中,使用ODBC连接是数据库有两种方法,第一种就是使用ODBCAPI,第二种就是使用MFCODBC,在这里我只谈一下MFCODBC。为了使数据库开发变得更方便,Microsoft对ODBCAPI进行的封装,使得我们开发数据库时可以直接使用MFCODBC类:CDatabase:建立与数据源的连接CRecordset:获取记录集CRecordView:提供一个表单视图与某个记录集直接相连,利用对话框数据交换机制(DDX)在记录集与表单视图的空间之间传输数据CFieldExchange:支持记录字段数据交换(DFX),即记录集字段数据成员与相应的数据库的表的字段之

2、间的数据交换CDBException:ODBC的异常类一、在实际开发中,使用MFCODBC类访问数据库步骤如下:a.使用CDatabase类方法打开数据源:定义CDatabase对象m_db;调用其OpenEx方法打开数据源,OpenEx原型如下:virtualBOOLOpenEx(LPCTSTRlpszConnectString,DWORDdwOptions=0);参数一为连接字串:如"DNS=memo;UID=sa;PWD=123",DNS为数据源名称,注意到如果为lpszConnectString传递NULL,则将出现数据源对话框,提示用户选择一个数据源。参

3、数二为打开方式,缺省值0表示以共享方式打开数据库,带有写访问,不装入ODBC游标库DLL,并且只有在没有足够信息形成连接时显示ODBC连接对话框。可选参数如下:CDatabase::openExclusive:此类库版本不支持。为共享数据源总是打开的。如果选定此选项,断言失败。CDatabase::openReadOnly:以只读方式打开CDatabase::UseCursorLib装入ODBC游标库DLL。游标掩盖了基础ODBC驱动程序的一些功能,有效地阻止使用动态集(如果驱动程序支持它们)。如果装入游标库,支持的唯一游标是静态快照和只能向前游标。缺省值为TRU

4、E。如果计划从CRecordset直接创建一个记录集对象而不派生,则不应装入游标库。CDatabase::noOdbcDialog:不管是否提供了足够的连接信息,不显示ODBC连接对话框。CDatabase::forceOdbcDialog:总是显示ODBC连接对话框。如果要使用信任连接,即不需要用户名和密码,则应该使用Open方法,但在打开记录集时有限制,见后。(注:创建数据源方法:控制面板—>管理工具—>数据源(ODBC)—>添加,选择对应的驱动程序,如数据库在SQLServer下则选择SQLServer—>完成输入数据名称,描述,选择服务器"(local)"

5、,下一步,选择用户输入登陆ID和密码的SQLServer验证,输入登陆ID和密码,下一步,勾选更改默认数据库,下一步,完成,测试。)b.定义CRecordset对象,调用其Open方法打开记录集,如CRecordsetrs(&m_db);virtualBOOLOpen(UINTnOpenType=AFX_DB_USE_DEFAULT_TYPE,LPCTSTRlpszSQL=NULL,DWORDdwOptions=none);参数一为打开类型,如下:AFX_DB_USE_DEFAULT_TYPE:默认值CRecordset::dynaset:动态记录集,支持双向游标

6、,并保持同所连接的数据源同步,对数据的更新操作可以通过一个fetch操作获取。CRecordset::snapshot:静态快照,一旦形成记录集,此后数据源的所有改变都不能体现在记录集里,应用程序必须重新进行查询,才能获取对数据的更新。该类型记录集也支持双向游标。CRecordset::dynamic:同CRecordset::dynaset记录集相比,CRecordset::dynamic记录还能在fetch操作里同步其它用户对数据的重新排序,大部分ODBC驱动程序不支持这种记录集CRecordset::forwardOnly:除了不支持逆向游标外,其它特征同C

7、Recordset::snapshot相同。参数二为sql查询语句,查询结果保存在记录集中参数三指定创建记录集时的常用选项CRecordset::none:无选项(缺省),与其它所有选项互斥,可以更新、删除、添加记录CRecordset::appendOnly:不允许修改和删除记录,但可以添加记录.CRecordset::readOnly:记录集是只读的.其它选项查看MSDN使用信任连接时,如果使用CRecordset::dynaset会出现ODBC不支持动态记录集错误出现CRecordset::dynamic打开记录集,会出现ODBC不支持动态指针错误,而用CR

8、ecord

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。