ODBC示例_MFC程序

ODBC示例_MFC程序

ID:37827991

大小:231.98 KB

页数:8页

时间:2019-06-01

ODBC示例_MFC程序_第1页
ODBC示例_MFC程序_第2页
ODBC示例_MFC程序_第3页
ODBC示例_MFC程序_第4页
ODBC示例_MFC程序_第5页
资源描述:

《ODBC示例_MFC程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、ODBC示例:MFC程序—by周子琳(Jersey16@163.com)关于前面两个步骤:SQLServer的相关检查和DSN的建立,请参照文档“ODBC示例_控制台程序.doc”。1.MFCODBC简介MFC对ODBC进行了封装,即MFCODBC。它简化了对ODBCAPI的调用,从而实现面向对象的数据库编程接口。MFCODBC的封装主要开发了CDatabase类和CRecordSet类1)CDatabase类CDatabase类用于应用程序建立与数据源的连接。CDatabase类中包含一个m_hdbc变量,它代表了数据源的连接

2、句柄。如果要建立CDatabase类的实例,应先调用该类的构造函数,再调用Open函数,通过调用,初始化环境变量,并执行与数据源的连接。在执行完所有操作后,通过Close函数关闭与数据源的连接。CDatabase类提供了对数据库进行操作的函数及事务操作。2)CRecordSet类CRecordSet类定义了从数据库接收或者发送数据到数据库的成员变量,以实现对数据集的数据操作。CRecordSet类的成员变量m_hstmt代表了定义该记录集的SQL语句句柄,m_nFields为记录集中字段的个数,m_nParams为记录集所使用的

3、参数个数。CRecordSet的记录集通过CDatabase实例的指针实现与数据源的连接,即CRecordSet的成员变量m_pDatabase。MFCODBC编程更适合于界面型数据库应用程序的开发,但由于CDatabase类和CRecordSet类提供的数据库操作函数有限,支持的游标类型也有限,限制了高效的数据库开发。2.MFC程序示例以下示例为VS2010中所建立的基于对话框的MFC工程:1.建好基于对话框的工程后,将ListControl控件拖动到对话框中;2.选中该控件,在“属性”选项卡中,将View选项值选为“Repo

4、rt”;3.为ListControl控件添加变量4.调整一下控件的大小5.打开工程的Dlg.cpp,在OnInitDialog()函数中的“//TODO:Addextrainitializationhere”后加入如下代码://对ListControl的格式进行设置m_List.SetExtendedStyle(m_List.GetExtendedStyle()

5、LVS_EX_GRIDLINES

6、LVS_EX_HEADERDRAGDROP

7、LVS_EX_TWOCLICKACTIVATE);CRectrect;m_List.Get

8、ClientRect(rect);intlistWidth=rect.Width();m_List.InsertColumn(0,_T("sno"),LVCFMT_LEFT,listWidth/5);m_List.InsertColumn(1,_T("sname"),LVCFMT_LEFT,listWidth/5);m_List.InsertColumn(2,_T("ssex"),LVCFMT_LEFT,listWidth/5);m_List.InsertColumn(3,_T("sage"),LVCFMT_LEFT,listW

9、idth/5);m_List.InsertColumn(4,_T("sdept"),LVCFMT_LEFT,listWidth/5);6.打开工程的Dlg.h文件,加入如下代码:加入头文件#include"afxdb.h",这是MFCODBC的头文件。在public处加入:7.在Dlg.cpp中加入VariantToCString的函数定义CStringCMFCDlg::VariantToCString(CDBVariant*var){CStringstr;//转换以后的字符串if(!var){str="NULLVarParam

10、eter";returnstr;}switch(var->m_dwType){caseDBVT_SHORT:str.Format(L"%d",(int)var->m_iVal);break;caseDBVT_LONG:str.Format(L"%d",var->m_lVal);break;caseDBVT_SINGLE:str.Format(L"%10.6f",(double)var->m_fltVal);break;caseDBVT_DOUBLE:str.Format(L"%10.6f",var->m_dblVal);brea

11、k;caseDBVT_BOOL:str=(var->m_boolVal==0)?L"FALSE":L"TRUE";break;caseDBVT_STRING:str=var->m_pstring->GetBuffer();break;caseDBVT_ASTRI

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

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

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