VC實現(xiàn)ODBC數(shù)據(jù)庫操作實例解析
本文以VC實例介紹了實現(xiàn)數(shù)據(jù)庫操作的各種方法,包括打開數(shù)據(jù)庫、關(guān)聯(lián)記錄集、讀取Excel數(shù)據(jù)、執(zhí)行SQL查詢、創(chuàng)建存取字符串等,相信對于初學(xué)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");
}
上一篇:C++ Vector用法深入剖析
欄 目:C語言
本文標題:VC實現(xiàn)ODBC數(shù)據(jù)庫操作實例解析
本文地址:http://www.jygsgssxh.com/a1/Cyuyan/3533.html
您可能感興趣的文章
- 01-10數(shù)據(jù)結(jié)構(gòu)課程設(shè)計-用棧實現(xiàn)表達式求值的方法詳解
- 01-10使用OpenGL實現(xiàn)3D立體顯示的程序代碼
- 01-10求斐波那契(Fibonacci)數(shù)列通項的七種實現(xiàn)方法
- 01-10C語言 解決不用+、-、&#215;、&#247;數(shù)字運算符做加法
- 01-10使用C++實現(xiàn)全排列算法的方法詳解
- 01-10用C++實現(xiàn)DBSCAN聚類算法
- 01-10深入全排列算法及其實現(xiàn)方法
- 01-10全排列算法的非遞歸實現(xiàn)與遞歸實現(xiàn)的方法(C++)
- 01-10用C語言實現(xiàn)單鏈表的各種操作(一)
- 01-10用C語言實現(xiàn)單鏈表的各種操作(二)


閱讀排行
本欄相關(guān)
- 04-02c語言函數(shù)調(diào)用后清空內(nèi)存 c語言調(diào)用
- 04-02func函數(shù)+在C語言 func函數(shù)在c語言中
- 04-02c語言的正則匹配函數(shù) c語言正則表達
- 04-02c語言用函數(shù)寫分段 用c語言表示分段
- 04-02c語言中對數(shù)函數(shù)的表達式 c語言中對
- 04-02c語言編寫函數(shù)冒泡排序 c語言冒泡排
- 04-02c語言沒有round函數(shù) round c語言
- 04-02c語言分段函數(shù)怎么求 用c語言求分段
- 04-02C語言中怎么打出三角函數(shù) c語言中怎
- 04-02c語言調(diào)用函數(shù)求fibo C語言調(diào)用函數(shù)求
隨機閱讀
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 01-10C#中split用法實例總結(jié)
- 04-02jquery與jsp,用jquery
- 01-10delphi制作wav文件的方法
- 01-10使用C語言求解撲克牌的順子及n個骰子
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 08-05織夢dedecms什么時候用欄目交叉功能?
- 01-11ajax實現(xiàn)頁面的局部加載


