精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Visual C++中用MFC ODBC操作Access數據庫

運維 數據庫運維
本文通過一個應用實例,討論了利用MFC ODBC技術實現對Access數據源的顯示,在此基礎上,分析了如何設計以達到利用MFC ODBC來實現修改、增加、刪除Access數據源中的記錄的功能。

本實例是某項目中的一部分,目的是實現MFC ODBC數據庫與Access數據表格之間的相互操作。包括用Visual C++中的MFC ODBC技術實現對Access數據表格的內容的顯示、添加、修改和刪除的功能。

1、ODBC數據源的創建

筆者使用的操作系統為Windows XP,工具是Visual C++6.0。此例中建立的Access表格取名為“plc”。

在“控制面板”中雙擊“管理工具”圖標,然后在新出現的窗口中雙擊“數據源(ODBC)”,在彈出的對話框中選中“用戶DSN”中的“dBASE Files”,單擊“添加”按鈕,從彈出的對話框中選中“Microsoft Access Driver(*.mdb)”。單擊“完成”后,將彈出一個新的對話框,在數據源名及說明后的編輯框中填入表格名“plc”。

在命名數據源之后,需要把它連接到一個數據庫。單擊“選擇”,如圖1所示,得到存儲在數據目錄中plc.mdb的拷貝文件,選中之,單擊“確定”關閉此對話框。然后單擊“確定”,完成數據源的創建。

Visual C++中用MFC ODBC操作Access數據庫

2、 使用AppWizard創建一個數據庫應用程序

筆者開始從AppWizard開始創建一個新的MFC AppWizard(exe)項目。命名為Jh,然后遵從以下步驟:

1) 在MFC AppWizard第一步對話框中,選擇“單個文檔”。

2) 在MFC AppWizard第二步對話框中,選擇“查看數據庫不使用文件支持”,再單擊“Data Source”。

3)在RecordSet Type組框中,選擇Dynaset。在Data Source組框中,單擊ODBC單選按鈕,然后從下拉列表中選擇plc,如圖2所示,單擊ok,在彈出的新的對話框中選中message,即為本項目所要操作的表。

Visual C++中用MFC ODBC操作Access數據庫

以后幾步接收缺省值,單擊“完成”即可。至此,已創建一個應用程序,并且在程序中自行生成一個數據源和數據源中的一個表的相關程序,其程序清單如下:

  1. class CJhSet : public Crecordset//基于CRecordset的CjhSet新類  
  2.  
  3. {  
  4.  
  5. public:  
  6.  
  7. CJhSet(CDatabase* pDatabase = NULL);  
  8.  
  9. DECLARE_DYNAMIC(CJhSet)  
  10.  
  11. // Field/Param Data  
  12.  
  13. //{{AFX_FIELD(CJhSet, CRecordset)  
  14.  
  15. //對應表中一些被綁定字段的變量  
  16.  
  17. CString m_baudrate;  
  18.  
  19. CString m_type;  
  20.  
  21. CString m_unit;  
  22.  
  23. CString m_number;  
  24.  
  25. CString m_address;  
  26.  
  27. CString m_istart;  
  28.  
  29. CString m_iend;  
  30.  
  31. CString m_ostart;  
  32.  
  33. CString m_oend;  
  34.  
  35. //}}AFX_FIELD  
  36.  
  37. // Overrides  
  38.  
  39. // ClassWizard generated virtual function overrides  
  40.  
  41. //{{AFX_VIRTUAL(CJhSet)  
  42.  
  43. public:  
  44.  
  45. virtual CString GetDefaultConnect(); // 返回被連接的數據源名稱  
  46.  
  47. virtual CString GetDefaultSQL(); // 返回數據源中所選表名稱  
  48.  
  49. virtual void DoFieldExchange(CFieldExchange* pFX); // RFX support  
  50.  
  51. //}}AFX_VIRTUAL  
  52.  
  53. // Implementation  
  54.  
  55. #ifdef _DEBUG  
  56.  
  57. virtual void AssertValid() const;  
  58.  
  59. virtual void Dump(CDumpContext& dc) const;  
  60.  
  61. #endif}; 

3、 實現程序的顯示記錄的功能

一旦AppWizard完成編寫這些文件,它將啟動對話框編輯器,這樣就可以設計自己的表單了。CRecordView應用程序圍繞著充當應用程序主窗口的對話框而創建。筆者也將使用像表單一樣的對話框來顯示存儲在plc數據庫記錄域中的值。如圖3所示來放置靜態文本框與編輯文本框。

Visual C++中用MFC ODBC操作Access數據庫

CJHSet類的成員變量如圖4所示。所有的變量均為CString對象。由AppWizard創建的每個變量的類型一般與相應數據庫域的類型相似。除了創建成員變量,AppWizard還編寫了一組數據交換函數——類似于對話框的DDX函數——來在用來顯示信息的控件與定義于CRecordSet類中的數據庫域之間交換信息。

Visual C++中用MFC ODBC操作Access數據庫

為了實現數據傳輸,就要把每個控件與代表數據庫域的CJHSet變量聯系起來。筆者通過使用CJHView來成員變量m_pSet來指向應用程序的CJHSet對象。選擇每個資源ID(筆者這里未修改編輯框的默認ID),并單擊Add Variable,從下拉表中直接選擇相應的成員變量名。全部設置好之后單擊OK,至此,運行程序,就可以實現簡單的與數據庫之間的數據顯示功能。

#p#

4、實現程序的添加、修改和刪除記錄的功能

在實現上述功能之前,需要按“插入->資源->DIALOG->新建”建立一個新的對話框(與圖1所示對話框類似),以建立添加、修改的對象。并為此對話框建立一個基于CDialog基礎類的新的類CAddDlg。其ID為IDD_DIALOG1。

然后在JhView.cpp中加“#include "AddDlg.h"”,并為“添加記錄(IDC_ADD)”鍵編寫程序代碼如下。其中已經作了詳細的注解。

  1. void CJhView::OnAdd()   
  2.  
  3. {  
  4.  
  5. //建立一個新的添加對話框  
  6.  
  7. CAddDlg dlg;   
  8.  
  9. if(dlg.DoModal()==IDOK)  
  10.  
  11. {  
  12.  
  13. //增加一條新的記錄  
  14.  
  15. m_pSet->AddNew();   
  16.  
  17. //把對話框中的記錄傳遞到記錄集中  
  18.  
  19. m_pSet->m_baudrate=dlg.m_br;  
  20.  
  21. m_pSet->m_type=dlg.m_ty;  
  22.  
  23. m_pSet->m_unit=dlg.m_un;  
  24.  
  25. m_pSet->m_number=dlg.m_nu;  
  26.  
  27. m_pSet->m_address=dlg.m_add;  
  28.  
  29. m_pSet->m_istart=dlg.m_is;  
  30.  
  31. m_pSet->m_iend=dlg.m_ie;  
  32.  
  33. m_pSet->m_ostart=dlg.m_os;  
  34.  
  35. m_pSet->m_oend=dlg.m_oe;  
  36.  
  37. m_pSet->Update(); //把新的記錄存在數據源里  
  38.  
  39. m_pSet->MoveLast(); //指定當前記錄為最后一條記錄  
  40.  
  41. UpdateData(false); //清空已輸入內容  
  42.  
  43. }  
  44.  

添加記錄部分,應該先讀出當前的記錄,使其顯示在添加/修改對話框中,即:

  1. dlg.m_br=m_pSet->m_baudrate;  
  2.  
  3. dlg.m_ty=m_pSet->m_type;  
  4.  
  5. dlg.m_un=m_pSet->m_unit;  
  6.  
  7. dlg.m_nu=m_pSet->m_number;  
  8.  
  9. dlg.m_add=m_pSet->m_address;  
  10.  
  11. dlg.m_is=m_pSet->m_istart;  
  12.  
  13. dlg.m_ie=m_pSet->m_iend;  
  14.  
  15. dlg.m_os=m_pSet->m_ostart;  
  16.  
  17. dlg.m_oe=m_pSet->m_oend; 

余下的與添加記錄代碼相同,除了不要定位“m_pSet->MoveLast();”而已。

刪除記錄只是需要使用Delete()成員函數刪除當前記錄之后移到下一個記錄即可。程序清單如下:

  1. void CJhView::OnDel()   
  2.  
  3. {  
  4.  
  5. try//試著刪除一條記錄  
  6.  
  7. {  
  8.  
  9. m_pSet->Delete();  
  10.  
  11. }  
  12.  
  13. catch(CDBException*error)  
  14.  
  15. {  
  16.  
  17. AfxMessageBox(error->m_strError);  
  18.  
  19. error->Delete();  
  20.  
  21. m_pSet->MoveFirst();  
  22.  
  23. UpdateData(FALSE);  
  24.  
  25. return;  
  26.  
  27. }  
  28.  
  29. //移到下一個記錄  
  30.  
  31. m_pSet->MoveNext();  
  32.  
  33. //測試是否為文件末尾,是,則使用MoveLast(),而不是使用MoveNext()  
  34.  
  35. if(m_pSet->IsEOF())  
  36.  
  37. m_pSet->MoveLast();  
  38.  
  39. UpdateData(FALSE);  
  40.  

對多個記錄集的操作與對單個記錄集的操作類似,只是增加了CRecordSet類的派生類。

總結:

MFC ODBC讓開發人員僅僅使用很少的代碼就可以完成復雜的數據庫訪問,并可以對數據庫中的內容方便的實現添加、修改、刪除等操作,從而極大地減少了軟件開發的工作量,縮短了開發周期,提高了效率。而且MFC ODBC簡單易學,能實現大部分ODBC API函數的功能,所以了解和掌握MFC ODBC技術,將會給大型數據庫應用軟件帶來清晰、快捷、方便等功能。

【編輯推薦】

  1. 開發BI系統時的需求分析研究
  2. 基于XML的數據庫總體分析(上)
  3. 基于XML的數據庫總體分析(下)
  4. 嵌入式數據庫Sqlce讀取數據過程簡介
  5. 如何不使用數據庫緩存,還達到實時更新
責任編輯:趙鵬 來源: 天極網
相關推薦

2024-04-18 09:56:16

2010-01-12 14:16:31

Visual C++語

2009-08-19 16:30:55

C#操作Access數

2009-08-19 16:40:26

C#操作Access數

2009-08-12 14:27:36

訪問MySQL數據庫C# ODBC

2011-07-13 14:53:56

VCODBCAccess

2009-07-03 14:10:59

2010-02-02 17:27:16

C++連接MySqL數

2009-08-19 16:19:01

C#操作Access數

2009-07-31 17:01:21

C#存取Access數

2010-03-04 13:47:13

Python操作Acc

2009-09-01 09:45:49

Visual C#對數

2009-08-03 14:17:18

C#連接AccessC#連接SQL Ser

2009-08-28 13:03:55

C#壓縮Access數

2011-05-26 13:42:50

MFC連接MySql數據庫

2010-05-17 10:11:11

導入Mysql

2010-01-27 15:58:35

C++數據結構

2010-05-19 15:12:32

導入MySQL

2009-12-17 13:30:49

Ruby操作Acces

2010-06-11 13:13:38

訪問MySQL數據庫
點贊
收藏

51CTO技術棧公眾號

成人av在线电影| 99久久婷婷国产综合精品电影√| 激情久久av一区av二区av三区| 成人va在线观看| 久久午夜鲁丝片午夜精品| 成人午夜在线影视| 成人黄色777网| 国产成人激情小视频| 波多野结衣喷潮| 欲香欲色天天天综合和网| 成人国产精品视频| 国产精品高清网站| 欧美又粗又大又长| 免费观看久久av| 91精品国产91综合久久蜜臀| 凹凸国产熟女精品视频| 精品自拍一区| www.色精品| 91沈先生作品| 国产剧情在线视频| 欧美日本三区| 久久精彩免费视频| 扒开jk护士狂揉免费| 日韩成人精品| 欧美日韩国产综合视频在线观看 | 香蕉久久精品日日躁夜夜躁| 制服丝袜国产精品| 欧美午夜性生活| 麻豆视频在线看| 亚洲免费电影在线| 亚洲日本欧美在线| 激情小视频在线观看| 成人小视频在线| 亚洲一区二区三区在线视频 | 另类小说一区二区三区| 欧日韩在线观看| 国产精品suv一区二区| 久久久五月天| 最近中文字幕mv在线一区二区三区四区| 国产精品无码电影| 国产精品115| 欧美变态口味重另类| caoporm在线视频| 99re久久| 欧美视频完全免费看| 国产又大又硬又粗| 三级中文字幕在线观看| 亚洲一级电影视频| 很污的网站在线观看| 乱色588欧美| 无码人妻av免费一区二区三区| 亚洲乱亚洲高清| 久久男人的天堂| 久热这里只有精品在线| 国内激情久久| 性欧美在线看片a免费观看 | 日本福利一区二区| 日韩 欧美 高清| 免费观看成人性生生活片| 色综合中文综合网| 噼里啪啦国语在线观看免费版高清版| 快播电影网址老女人久久| 一本色道久久综合亚洲91| 黄色片一级视频| 激情亚洲影院在线观看| 欧洲在线/亚洲| 亚洲综合日韩欧美| 3d动漫一区二区三区在线观看| 欧美一区二区私人影院日本| 中文字幕乱妇无码av在线| 66精品视频在线观看| 日韩高清av一区二区三区| 午夜理伦三级做爰电影| 日韩午夜电影网| 天堂午夜影视日韩欧美一区二区| 欧美一级视频免费在线观看| 亚洲婷婷久久综合| 久久av中文字幕片| 成人在线视频电影| 奇米影视888狠狠狠777不卡| 国产女人18毛片水真多成人如厕| 一本一本a久久| 天堂8中文在线| 精品国产户外野外| 天天爽人人爽夜夜爽| 日韩精品一区二区三区中文在线| 亚洲成色777777在线观看影院| 国产福利短视频| 久久人人99| 高清一区二区三区四区五区| 无码一区二区三区| 极品少妇xxxx精品少妇| 99久久99久久| 精品视频一二三| 一区二区三区在线免费播放| 男人操女人免费软件| 日本久久一区| 日韩av有码在线| 91传媒免费观看| 国产亚洲毛片| 99国产高清| 国产经典自拍视频在线观看| 一区二区三区色| 成年人在线观看视频免费| 日韩成人在线看| 在线视频欧美性高潮| 久久精品视频9| 免费观看成人鲁鲁鲁鲁鲁视频| 99久久精品免费看国产一区二区三区| 国产一区精品| 午夜影院久久久| 亚洲欧美日韩一级| 亚洲人亚洲人色久| 欧美福利小视频| 在线观看视频中文字幕| 白白色亚洲国产精品| 老汉色影院首页| 精品欧美一区二区三区在线观看| 9191久久久久久久久久久| 亚洲第一香蕉网| 日韩午夜av在线| 亚洲综合色av| 国产欧美黑人| 欧美三级资源在线| 国精产品一区一区三区免费视频 | 国产激情一区二区三区四区| 日本不卡一区二区三区视频| 91超碰在线免费| 欧美videossexotv100| 182在线观看视频| 美女一区二区视频| 日本一区二区三区四区高清视频 | 日韩精品123区| 日韩精品色哟哟| 久久另类ts人妖一区二区| 国产精品探花在线| 欧美成人aa大片| 久久久无码一区二区三区| 国产精品一区二区免费不卡| 中文字幕乱码免费| 亚洲日日夜夜| 久久久国产精品亚洲一区| 中文字幕观看视频| 国产精品视频第一区| 国产精品久久久久9999小说| 免费毛片在线不卡| 国产不卡av在线免费观看| 毛片免费在线| 91福利视频网站| 欧美波霸videosex极品| 免费精品视频在线| 一本一道久久久a久久久精品91| 日本成人福利| 精品国产自在精品国产浪潮| 国产毛片毛片毛片毛片毛片| 亚洲精品福利视频网站| 韩国av中国字幕| 黄色亚洲精品| 99在线影院| а√在线中文网新版地址在线| 亚洲国产精品嫩草影院久久| 女人十八岁毛片| 久久久高清一区二区三区| 欧在线一二三四区| 日韩午夜电影网| 91精品国产99久久久久久红楼| 四虎影视国产在线视频| 亚洲精品国产suv| 久久久久女人精品毛片九一| 国产精品美女久久久久久久| 激情久久综合网| 99国产精品99久久久久久粉嫩| 欧美日韩国产精品一区二区| 欧洲亚洲精品| 欧美猛男性生活免费| 午夜在线视频观看| 欧美在线观看视频一区二区三区| 亚洲伦理一区二区三区| 99久久婷婷国产综合精品| 激情五月亚洲色图| 午夜亚洲福利| 欧洲av一区| 精品麻豆剧传媒av国产九九九| 8x拔播拔播x8国产精品| a天堂中文在线| 欧美成人a视频| 日韩综合在线观看| 亚洲免费观看在线视频| 一区二区三区免费在线观看视频| 久久国产精品免费| 一区二区传媒有限公司| 91视频综合| 免费毛片一区二区三区久久久| 久久爱www.| 日韩免费av在线| 欧美1—12sexvideos| 国产亚洲精品综合一区91| 性生交大片免费看女人按摩| 欧美亚洲一区二区三区四区| 国产在线观看成人| 国产精品久久久久影院色老大 | 成人性视频欧美一区二区三区| 亚洲一区二区三区| 日本高清不卡三区| 成人动漫视频| 成人妇女免费播放久久久| 1区2区3区在线| 日韩在线视频网| 日本一级在线观看| 日韩一级视频免费观看在线| 无码人妻精品一区二区| 亚洲sss视频在线视频| 亚洲 欧美 变态 另类 综合| 久久婷婷国产综合国色天香| 污网站免费观看| 精品在线观看免费| www.欧美日本| 久久精品国语| ww国产内射精品后入国产| 亚洲国产不卡| 天堂一区二区三区| 美日韩中文字幕| 久久精品欧美| 在线播放一区二区精品视频| 91天堂在线观看| 青青国产精品| 国产欧美日韩精品专区| 国产在线天堂www网在线观看| 欧美疯狂性受xxxxx另类| 国产原创精品视频| 日韩中文字幕在线视频| www.在线视频.com| 亚洲性无码av在线| 欧美日韩伦理片| 亚洲免费人成在线视频观看| 涩爱av在线播放一区二区| 亚洲第一网站男人都懂| 欧美一级一区二区三区| 精品国产91久久久久久久妲己| 精品乱子伦一区二区| 日韩欧美一级片| www.黄色片| 日韩精品一区二区在线观看| 亚洲av无码专区在线| 欧美大片一区二区| 亚洲精品一级片| 亚洲国产高清福利视频| 人妻视频一区二区三区| 日韩av网站电影| 欧美成人综合在线| 国产一区二区三区中文| 浮生影视网在线观看免费| 中文字幕少妇一区二区三区| 91短视频版在线观看www免费| 色偷偷888欧美精品久久久| 黄页视频在线播放| 欧美福利在线观看| 黄在线观看免费网站ktv| 日韩av不卡电影| 精品女同一区二区三区在线观看| 国产精品网址在线| 亚洲国产中文在线二区三区免| 北条麻妃高清一区| 日韩三级毛片| 日韩和欧美的一区二区| 天天综合精品| 亚洲理论电影在线观看| 久久国产欧美| 热久久久久久久久| 成人一级片网址| 免费在线观看你懂的| 中文字幕日韩精品一区| 国产真人真事毛片| 91久久线看在观草草青青| 91丨porny丨在线中文| 精品国免费一区二区三区| 日本福利片在线| 色播久久人人爽人人爽人人片视av| 大地资源网3页在线观看| 午夜剧场成人观在线视频免费观看| 日韩中文影院| 999热视频在线观看| 香蕉久久夜色精品国产使用方法| 亚洲精品二区| 国内精品福利| 亚洲色图久久久| 丁香啪啪综合成人亚洲小说| 国产中年熟女高潮大集合| 亚洲欧美日韩电影| 福利网址在线观看| 在线综合视频播放| 日本不卡视频一区二区| 久久手机免费视频| 欧美magnet| 日韩av网站大全| 黑人无套内谢中国美女| 国产成人免费在线观看不卡| 国产传媒国产传媒| 午夜久久久影院| 亚洲中文字幕在线一区| 亚洲精品国偷自产在线99热| 毛片在线视频| 国产v综合ⅴ日韩v欧美大片| www.久久东京| 综合一区中文字幕| 久久天堂精品| 完美搭档在线观看| 亚洲品质自拍视频| 亚洲国产无线乱码在线观看| 亚洲国产私拍精品国模在线观看| 岛国成人毛片| 国产欧美精品一区二区三区介绍 | 国产成人综合精品三级| 阿v天堂2014| 欧美视频一区二区三区…| 亚洲AV无码国产精品午夜字幕 | 蜜臀av一级做a爰片久久| 精品无码在线视频| 一级精品视频在线观看宜春院| 最新中文字幕第一页| 国产丝袜一区二区三区免费视频| 香蕉成人app免费看片| 国产主播喷水一区二区| 欧美一级精品| 国产淫片av片久久久久久| 99国产欧美另类久久久精品| 国产精品第72页| 精品国产乱码久久久久久图片 | 国产精品久久久久久久免费大片| 国产精品久久久久久久久妇女| 一级特黄性色生活片| 久久蜜桃av一区二区天堂| 在线观看亚洲天堂| 亚洲国产高潮在线观看| 97蜜桃久久| 国产精品一区二区免费看| 黄色成人91| av免费观看不卡| 午夜视频在线观看一区二区三区| 亚洲av无码乱码国产精品久久 | 亚洲精品偷拍视频| 久久成人免费电影| 国产三级精品三级观看| 欧美三级日本三级少妇99| www.在线播放| 91亚洲精品在线| 欧美1区免费| 亚洲少妇中文字幕| 亚洲成人免费av| 亚州av在线播放| 日韩av免费在线观看| 国产免费av一区二区三区| 日本熟妇人妻中出| 国产精品久久久久久久久免费桃花| 一区二区视频网站| 久久中文精品视频| 亚洲综合影院| 看av免费毛片手机播放| 久久精品人人做人人综合| 日韩欧美国产另类| 久久精品久久久久久国产 免费| 一区二区三区亚洲变态调教大结局 | 精品久久久一区| 黄色网址在线播放| 国产欧美va欧美va香蕉在| 午夜视频一区| 黄色a一级视频| 欧美日韩中文字幕精品| yellow91字幕网在线| 国产一区不卡在线观看| 日韩国产欧美在线播放| 91高清免费观看| 日韩av在线免费播放| 亚洲电影有码| 国产精品一二三在线观看| 99精品久久只有精品| 中文字幕有码视频| 欧美福利小视频| 欧美限制电影| 三上悠亚 电影| 色婷婷精品久久二区二区蜜臀av| 免费黄网站在线| 好看的日韩精品| 麻豆精品国产传媒mv男同| 国产亚洲精品久久久久久打不开| 亚洲天堂av高清| 中文字幕一区二区三区中文字幕| 欧美成人免费高清视频| 一区二区三区中文字幕| 国产高清视频免费最新在线| 97神马电影| 久久99国产精品免费网站| 91久久国产视频| 俺去了亚洲欧美日韩| 欧美激情影院| 91网址在线观看精品| 91久久精品日日躁夜夜躁欧美| 欧美1234区| 日韩最新中文字幕| 国产亚洲欧美色|