VC数据库编程之MFCODBC连接.doc

VC数据库编程之MFCODBC连接.doc

ID:59252180

大小:15.50 KB

页数:4页

时间:2020-09-08

VC数据库编程之MFCODBC连接.doc_第1页
VC数据库编程之MFCODBC连接.doc_第2页
VC数据库编程之MFCODBC连接.doc_第3页
VC数据库编程之MFCODBC连接.doc_第4页
资源描述:

《VC数据库编程之MFCODBC连接.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、VC数据库编程之MFCODBC连接VC数据库编程的方法有很多,下面介绍MFCODBC连接的方法。MFCODBC是MFC对ODBC进行的封装,以简化对ODBCAPI的调用,从而实现面向对象的数据库编程接口.MFCODBC的封装主要开发了CDatabase类和CRecordSet类(1)CDatabase类CDatabase类用于应用程序建立同数据源的连接。CDatabase类中包含一个m_hdbc变量,它代表了数据源的连接句柄。如果要建立CDatabase类的实例,应先调用该类的构造函数,再调用Open函数,通过调用,初始化环境变量,并执行与数据源的连接。在通过Close函数关闭数据源。CDat

2、abase类提供了对数据库进行操作的函数及事务操作。(2)CRecordSet类CRecordSet类定义了从数据库接收或者发送数据到数据库的成员变量,以实现对数据集的数据操作。CRecordSet类的成员变量m_hstmt代表了定义该记录集的SQL语句句柄,m_nFields为记录集中字段的个数,m_nParams为记录集所使用的参数个数。CRecordSet的记录集通过CDatabase实例的指针实现同数据源的连接,即CRecordSet的成员变量m_pDatabase.MFCODBC编程更适合于界面型数据库应用程序的开发,但由于CDatabase类和CRecordSet类提供的数据库操作

3、函数有限,支持的游标类型也有限,限制了高效的数据库开发。在编程层次上属于高级编程。应用实例:1.打开数据库CDatabasedatabase;database.OpenEx(_T("DSN=zhuxue"),CDatabase::noOdbcDialog);//zhuxue为数据源名称2.关联记录集CRecordsetrecset(&database);3.查询记录CStringsSql1="";sSql1="SELECT*FROMtablename";recset.Open(CRecordset::forwardOnly,sSql1,CRecordset::readOnly);intti=0

4、;CDBVariantvar;//var可以转换为其他类型的值while(!recset.IsEOF()){//读取Excel内部数值recset.GetFieldValue("id",var);jiangxiang[ti].id=var.m_iVal;recset.GetFieldValue("name",jiangxiang[ti].name);ti++;recset.MoveNext();}recset.Close();//关闭记录集4.执行sql语句CStringsSql="";sSql+="delete*from院系审核";//清空表database.ExecuteSQL(sSql)

5、;sSql也可以为Insert,Update等语句5.读取字段名sSql="SELECT*FROMSheet1";//读取的文件有Sheet1表的定义,或为本程序生成的表.//执行查询语句recset.Open(CRecordset::forwardOnly,sSql,CRecordset::readOnly);intexcelColCount=recset.GetODBCFieldCount();//列数CStringexcelfield[30];//得到记录集的字段集合中的字段的总个数for(i=0;i{CODBCFieldInfofieldinfo;recset.GetODBCField

6、Info(i,fieldinfo);excelfield[i].name=fieldinfo.m_strName;//字段名}6.打开excel文件CStringsDriver="MICROSOFTEXCELDRIVER(*.XLS)";//Excel安装驱动CStringsSql,sExcelFile;//sExcelFile为excel的文件路径TRY{//创建进行存取的字符串sSql.Format("DRIVER={%s};DSN='';FIRSTROWHASNAMES=1;READONLY=FALSE;CREATE_DB="%s";DBQ=%s",sDriver,sExcelFil

7、e,sExcelFile);//创建数据库(既Excel表格文件)if(database.OpenEx(sSql,CDatabase::noOdbcDialog)){//可以把excel作为一个数据库操作}}catch(e){TRACE1("Excel驱动没有安装:%s",sDriver);AfxMessageBox("读取失败,请检查是否定义数据区Sheet1");}

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

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

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