C++ 中實(shí)現(xiàn)把EXCEL的數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫(kù)(ACCESS、MSSQL等)實(shí)例代碼
C++ 中實(shí)現(xiàn)把EXCEL的數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫(kù)(ACCESS、MSSQL等)實(shí)例代碼
在把EXCEL的數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫(kù)之前,先進(jìn)行一些簡(jiǎn)單的準(zhǔn)備工作:
1。把數(shù)據(jù)所在的EXCEL表另保存為DBF 4格式。
2。打開(kāi)BCB,添加AdoTable(改名為DBFTable)和DataSource這兩個(gè)控件
OK,準(zhǔn)備工作,到此結(jié)束,剩下的就是打代碼了
1。在Form_Load()事件中,加入以下代碼:
AnsiString filepath=ExtractFilePath(FileName); //FileName為DBF文件名 AnsiString tablename=ExtractFileName(FileName).SubString(0,ExtractFileName(FileName).Length()-4);//去除文件的擴(kuò)展名 //--------------------用于連接DBF文件-------------------------------- DBFTable->ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0; Password=/"/";Data Source=/""+filepath+"/"; Extended Properties=dbase 5.0;Persist Security Info=True"; DBFTable->TableName=tablename; DBFTable->Open();
2。新建一個(gè)類的成員函數(shù)void __fastcall ExcelToDB(TADOQuery *ADOQuery);
以下是函數(shù)的具體實(shí)現(xiàn):
void __fastcall TDBFToDBForm::ExcelToDB(TADOQuery *ADOQuery) {//實(shí)現(xiàn)很簡(jiǎn)單,只是把DBFTable的數(shù)據(jù)逐項(xiàng)添加的本地的數(shù)據(jù)庫(kù) DBFTable->First(); for(int j=0;j<DBFTable->RecordCount;j++) { ADOQuery->Append(); for(int i=0;i<DBFTable->FieldCount;i++) ADOQuery->FieldByName(DBFTable->FieldList->Strings[i])->AsString=DBFTable->FieldByName(DBFTable->FieldList->Strings[i])->AsString; ADOQuery->Post(); DBFTable->Next(); } ShowMessage("導(dǎo)入成功!"); }
說(shuō)明:DBFTable使用來(lái)裝載EXCEL另保存的數(shù)據(jù),而程序本身裝載數(shù)據(jù)用的是ADOQuery(當(dāng)然,你也可以改變),
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
C++ OpenCV實(shí)戰(zhàn)之手寫(xiě)數(shù)字識(shí)別
這篇文章主要為大家詳細(xì)介紹了如何使用machine learning機(jī)器學(xué)習(xí)模塊進(jìn)行手寫(xiě)數(shù)字識(shí)別功能,文中的示例代碼講解詳細(xì),感興趣的可以了解一下2022-08-08C語(yǔ)言二叉樹(shù)的概念結(jié)構(gòu)詳解
二叉樹(shù)可以簡(jiǎn)單理解為對(duì)于一個(gè)節(jié)點(diǎn)來(lái)說(shuō),最多擁有一個(gè)上級(jí)節(jié)點(diǎn),同時(shí)最多具備左右兩個(gè)下級(jí)節(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)。本文將詳細(xì)介紹一下C++中二叉樹(shù)的實(shí)現(xiàn)和遍歷,需要的可以參考一下2022-08-08C++結(jié)構(gòu)體字節(jié)對(duì)齊和共用體大小
這篇文章主要介紹了C++結(jié)構(gòu)體字節(jié)對(duì)齊和共用體大小,結(jié)構(gòu)體內(nèi)存對(duì)齊在筆試和面試中經(jīng)常被問(wèn)到,所以這篇文章做個(gè)總結(jié),首先通過(guò)代碼驗(yàn)證不同結(jié)構(gòu)體的內(nèi)存大小,需要的朋友可以參考下2021-11-11詳解C語(yǔ)言結(jié)構(gòu)體中的char數(shù)組如何賦值
這篇文章主要給大家介紹了關(guān)于C語(yǔ)言結(jié)構(gòu)體中的char數(shù)組如何賦值的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-03-03C++類模板實(shí)戰(zhàn)之vector容器的實(shí)現(xiàn)
本文我們將做一個(gè)類模板實(shí)戰(zhàn)-手寫(xiě)精簡(jiǎn)版vector容器。讓我們自己封裝一個(gè)數(shù)組類,可以適應(yīng)基本數(shù)據(jù)類型和自定義數(shù)據(jù)類型,感興趣的可以了解一下2022-07-07C++ Array容器的顯示和隱式實(shí)例化詳細(xì)介紹
這篇文章主要介紹了C++中Array容器的隱式實(shí)例化和顯式實(shí)例化,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2022-10-10QT使用QML實(shí)現(xiàn)地圖繪制虛線的示例代碼
QML提供了MapPolyline用于在地圖上繪制線段,這篇文章主要為大家詳細(xì)介紹了QT如何使用QML實(shí)現(xiàn)在地圖上繪制虛線,需要的小伙伴可以參考一下2023-07-07