VC實現(xiàn)ODBC數(shù)據(jù)庫操作實例解析
更新時間:2014年07月26日 15:53:39 投稿:shichen2014
這篇文章主要介紹了VC實現(xiàn)ODBC數(shù)據(jù)庫操作的方法,非常有實用價值,需要的朋友可以參考下
本文以VC實例介紹了實現(xiàn)數(shù)據(jù)庫操作的各種方法,包括打開數(shù)據(jù)庫、關(guān)聯(lián)記錄集、讀取Excel數(shù)據(jù)、執(zhí)行SQL查詢、創(chuàng)建存取字符串等,相信對于初學VC的朋友有一定的參考價值,主要功能代碼如下:
//打開數(shù)據(jù)庫 CDatabase database; database.OpenEx( _T( "DSN=zhuxue" ),CDatabase::noOdbcDialog);//zhuxue為數(shù)據(jù)源名稱 //關(guān)聯(lián)記錄集 CRecordset recset(&database); //查詢記錄 CString sSql1=""; sSql1 = "SELECT * FROM tablename" ; recset.Open(CRecordset::forwardOnly, sSql1, CRecordset::readOnly); int ti=0; CDBVariant var;//var可以轉(zhuǎn)換為其他類型的值 while (!recset.IsEOF()) { //讀取Excel內(nèi)部數(shù)值 recset.GetFieldValue("id",var); jiangxiang[ti].id=var.m_iVal; recset.GetFieldValue("name", jiangxiang[ti].name); ti++; recset.MoveNext(); } recset.Close();//關(guān)閉記錄集 //執(zhí)行sql語句 CString sSql=""; sSql+="delete * from 院系審核";//清空表 database.ExecuteSQL(sSql); sSql也可以為Insert ,Update等語句 //讀取字段名 sSql = "SELECT * FROM Sheet1"; //讀取的文件有Sheet1表的定義,或為本程序生成的表. //執(zhí)行查詢語句 recset.Open(CRecordset::forwardOnly, sSql, CRecordset::readOnly); int excelColCount=recset.GetODBCFieldCount();//列數(shù) CString excelfield[30]; //得到記錄集字段集合中的字段總個數(shù) for(i=0;i<excelColCount;i++) { CODBCFieldInfo fieldinfo; recset.GetODBCFieldInfo(i,fieldinfo); excelfield[i].name =fieldinfo.m_strName;//字段名 } //打開excel文件 CString sDriver = "MICROSOFT EXCEL DRIVER (*.XLS)"; //Excel安裝驅(qū)動 CString sSql,sExcelFile; //sExcelFile為excel的文件路徑 TRY { //創(chuàng)建存取的字符串 sSql.Format("DRIVER={%s};DSN='';FIRSTROWHASNAMES=1;READONLY=FALSE;CREATE_DB=\"%s\";DBQ=%s",sDriver, sExcelFile, sExcelFile); //創(chuàng)建Excel表格數(shù)據(jù)庫 if( database.OpenEx(sSql,CDatabase::noOdbcDialog) ) { //可以把excel作為一個數(shù)據(jù)庫操作 } }catch(e){ TRACE1("Excel驅(qū)動未安裝: %s",sDriver); AfxMessageBox("讀取失敗,請檢查是否定義數(shù)據(jù)區(qū)Sheet1"); }
相關(guān)文章
輕松實現(xiàn)C/C++各種常見進制相互轉(zhuǎn)換
這篇文章主要介紹了輕松實現(xiàn)C/C++各種常見進制相互轉(zhuǎn)換,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-11-11淺析C++模板類型中的原樣轉(zhuǎn)發(fā)和可變參數(shù)的實現(xiàn)
可變參數(shù)模板(variadic templates)是C++11新增的強大的特性之一,它對模板參數(shù)進行了高度泛化,能表示0到任意個數(shù)、任意類型的參數(shù),這篇文章主要介紹了C++可變參數(shù)模板的展開方式,需要的朋友可以參考下2022-08-08