1. 程式人生 > >解決64位win7系統+vs2013+64位access資料庫連線問題

解決64位win7系統+vs2013+64位access資料庫連線問題

解決辦法:下載安裝32位的access引擎 安裝即可, vs工程選擇win32。

資料庫建立連線的過程:

1、匯入dll,使用名稱空間,在stdafx.h檔案裡面加上如下語句:

#import "C:\Program Files\Common Files\System\ADO\msado15.dll" rename("EOF","adoEOF"), rename("BOF","adoBOF")

2、在CWinApp類的BOOL CMyProgramApp::InitInstance()函式中新增初始化語句
	AfxOleInit();///初始化COM庫
	

	AfxEnableControlContainer();

3、建立連線語句

在CWinDlg中新增兩個成員變數,表中欄位變數

	_ConnectionPtr m_pConnection;
	_RecordsetPtr m_pRecordset;//資料集連線
_variant_t vUsername,vID,vFeature;<span style="white-space:pre">	</span>//存放取出來的資料的變數
建立連線:
HRESULT hr;
	try
	{
		//CoInitialize(NULL);
		hr = m_pConnection.CreateInstance("ADODB.Connection");///建立Connection物件
		if(SUCCEEDED(hr))
		{
			//hr = m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source= FaceData.mdb", "", "", adModeUnknown);
<span style="white-space:pre">			</span>//Access2013使用如下provider
			hr = m_pConnection->Open("Provider=Microsoft.ACE.OLEDB.12.0;Data Source= firstdb.accdb","","",adModeUnknown);///連線資料庫
			MessageBox(_T("成功連線資料庫"));
			//_bstr_t strConnection = _T("Provider=SQLOLEDB;DataSource=local;InitialCatalog=FaceData.mdf");
			//hr = m_pConnection->Open(strConnection,"sa","123456",adModeUnknown);
			//上面一句中連線字串中的Provider是針對ACCESS2000環境的,對於ACCESS97,
			//需要改為:Provider=Microsoft.Jet.OLEDB.3.51;  }

			//_bstr_t ConStr = "Provider=SQLOLEDB;Server=(local);Database=FaceData;uid=sa;pwd=123456;";
			//m_pConnection->Open(ConStr, "", "", NULL); 
		}
	}
	catch(_com_error e)///捕捉異常
	{
		CString errormessage;
		errormessage.Format(_T("連線資料庫失敗!\r\n錯誤資訊:%s"),e.ErrorMessage());
		AfxMessageBox(errormessage);///顯示錯誤資訊
		return ;
	} 
4、查詢的處理函式:
void CMyProgramDlg::OnBnClickedSearch()
{
	// TODO: 在此新增控制元件通知處理程式程式碼
	CString CFeature;
	try
	{
		CString strSQL;
		//strSQL.Format("SELECT * FROM FaceTable where userid ='%s'",m_userID); // 有條件查詢
		//strSQL.Format(_T("SELECT * FROM users"));
		strSQL.Format(_T("SELECT * FROM staffinfo"));
		m_pRecordset.CreateInstance(__uuidof(Recordset));
		m_pRecordset->Open(_variant_t(strSQL), m_pConnection.GetInterfacePtr(), adOpenDynamic, adLockOptimistic, adCmdUnknown);
		int i = 0;
		while(m_pRecordset->EndOfFile == VARIANT_FALSE && i < 100 )
		{
			//vFeature = m_pRecordset->GetCollect("feature");
			vFeature = m_pRecordset->GetCollect("username");
			CFeature += vFeature;
			
			m_pRecordset->MoveNext();
			i++;	//選擇讀取前1個 測試用所以讀的少點
			
		}
		MessageBox(CFeature);
	}
	catch(_com_error e)
	{
		CString message;
		message.Format(_T("讀取資料庫失敗!\n 錯誤資訊為:%s"),e.Description());
		AfxMessageBox( message );///顯示錯誤資訊
	}
}


相關推薦

解決64win7系統+vs2013+64access資料庫連線問題

解決辦法:下載安裝32位的access引擎 安裝即可, vs工程選擇win32。 資料庫建立連線的過程: 1、匯入dll,使用名稱空間,在stdafx.h檔案裡面加上如下語句: #import "C:\Program Files\Common Files\System\A

64Win7系統中安裝vc++2008執行時報Error1935錯誤的解決方法

問題說明   最新單位來了一批新的計算機(64位Win7系統),其中很多計算機在安裝應用系統過程中報錯。通過對比正常使用的計算機,發現是沒有安裝vc++2008執行時,於是在網上下載了執行時並在有問題的

解決64win7系統IIS7[ODBC 驅動程式管理器]未發現數據源名稱並且未指定預設驅動程式

asp+sql 2000 系統,同過excel批量上傳時報如下錯誤: Microsoft OLE DB Provider for ODBC Drivers 錯誤 ’80004005′ [Microsoft][ODBC 驅動程式管理器] 未發現數據源名稱並且未指定預設驅動程式

64Win7系統iTunes無法識別iPhone的解決方法

1.右鍵我的電腦,管理。裝置管理器。找到移動裝置。 2.右鍵apple iphone。選擇更新驅動程式軟體。瀏覽計算機以查詢驅動程式軟體。 3.選擇路徑C:\Program Files\Com

wpf使用Inkcanvas編寫應用程式在64Win7系統中執行

c#input函式WMEncoder錄屏雙擊事件無效c#input函式WMEncoder錄屏雙擊事件無效 Socket類中AcceptAsync和BeginAccept在效能上有什麼區別引數化查詢出錯了我也沒找到錯在哪裡麻煩老師們幫我看一下。Socket類中AcceptAsy

64Win7系統nbtstat 問題

meta size system32 window entry div nbsp snat exe 64位Win7系統nbtstat 問題 姜糖水 2015-02-02 195 閱讀http://ju.outofmemory.cn/entry/114353 在32

64win7系統中JDK的安裝及環境變數的配置

1.官網上下載所需要的JDK版本 2.安裝JDK 選擇安裝目錄 安裝過程中會出現兩次 安裝提示 。第一次是安裝 jdk ,第二次是安裝 jre 。 建議兩個都安裝在同一個java資料夾中的不同資料夾中。(不能都安裝在java資料夾的根目錄下,jdk 和jre安裝在同一資料夾

64Win7作業系統中安裝Microsoft Access Engine的解決方案(轉)

現在的Win7系統中安裝的一般都是32位的Office,因為微軟推薦使用32位的Office,相容性更強,穩定性更好。在使用Access作為資料庫的時候,C#操作Access,如果Access是accdb,那麼一切會很順利,Win7系統中有訪問accdb的相應的元件,使用

手把手教你在64Win7系統中配置Apache+Mysql+PHP環境

B/S架構當下很流行,因為B/S架構有眾多優點,例如:使用者只需有瀏覽器就可使用,維護升級都比較方便,跨平臺,等等。本文就講講Windows+Apache+PHP+Mysql的開發環境如何配置。        WAMP(Windows+Apache+PHP+Mysql)

64Windows系統下32應用程式連線MySql

1.首先得安裝“Connector/ODBC”,就是Mysql的ODBC驅動,這個是與應用程式相關的,而不是與作業系統相關的,也就是說,不管你的系統是x64還是x86,只要你的應用程式是x86的那麼,“Connector/ODBC”就要安裝x86的,才能正常,下面的是下載

關於U盤/SD卡插入VMVMware虛擬機器無法識別不出來的問題解決(針對WIN7系統

前提,你的虛擬機器已經安裝了VMware Tools。 Step 1: 出現這種情況先檢視計算機中的虛擬機器的VMware USB Arbitration Service是否啟用(注意是VMware USB Arbitration Service)。具體查詢

MFC動態呼叫dll到指定的程序中(win7系統vs2013環境下)

在這裡將寫一個簡單的MFC程式,此MFC將把一個dll插入到一個目標程序(也叫靶子)中。 原理很簡單,就是通過目標(靶子)視窗的類名,找到這個目標的程序,再動態地將dll插入其中。 要實現此效果也並不複雜,就算是剛接觸vc的也可以完成此程式。(比較複雜的是插入程式碼的原理)

解決伺服器重灌系統導致的mac終端無法連線的問題

ssh [email protected]伺服器公網ip 輸入伺服器root密碼 ********************* 通過以上步驟mac終端出現known_hosts字樣 known_hosts是記錄遠端主機的公鑰的檔案,之前重灌過伺服器系統,

【轉】IIS7.5安裝後ASP+access資料庫連線錯誤的問題解決辦法

0 推薦 第一步、安裝IIS。 開始——控制面板——程式和功能——開啟關閉Windows功能,找打Internet資訊服務然後打勾,記得要在應用程式開發功能裡勾選asp,和asp.net,然後找到Internet資訊服務上面的Internet information service 可承載web核心

一個偉大的發現,裝X一下。筆記本win7系統64機器執行unity 時,屏幕模糊解決的方法

-a dsm directx ctx font 偉大的 size pop 系統 筆者筆記本win7系統64位機器執行unity 時。往往切換時unity界面屏幕模糊,後來發現此時須要下載DirectXRuntimes201006x64,安裝就可以。 一

win7&win10 64系統,8G記憶體,3.48G可用解決辦法。

出現的問題: 1、重灌系統之後,開機顯示可用記憶體為3.48GB。【8G的記憶體可用記憶體應該有7個多G的樣子】 2、系統:win7 64位系統  &  win10 64位系統 【都顯示3個多G】 3、硬體:2根4G  DDR4記憶體條,分別插到兩個

Jlink_V8燈不亮USB無法識別及克隆版問題解決方法(win7 64系統下親測可用)

J-LINK V8 韌體修復方法 (win7 64位系統下親測可用) 一、現象描述 現象1:       原因:J-link韌體丟失       解決方法:重新刷韌體      現象2: J-link軟體在啟動時會提示為克隆版本,然後自動退出。 有時用J-link_V8.

64win7中使用vs2013為python3.4安裝pycrypto-2.6.1外掛報Unable to find vcvarsall.bat異常解決方案

問題描述: 64位win7中使用vs2013為python3.4.2安裝pycrypto-2.6.1外掛報Unable to find vcvarsall.bat。 問題分析: 1、原始碼分析,查詢python原始碼distribut模組中出現Unable to find

解決VMware下64Linux系統不支援全虛擬化(VMX)

一、前提: cpu支援Inter VT-X或AMD虛擬化技術,具體參考官網說明。 二、問題描述: 物理機下,VMware Workstation能安裝64位CentOS系統,處理器Inter i3 M390,且支援Inter VT-X虛擬化技術,物理機BIOS中已開啟Inter虛擬化開關(自己

Logstash在win7系統64下的安裝流程&報錯處理

JAVA環境:安裝jdk並配置環境變數   官方提示需求java8: Logstash requires Java 8. Java 9 is not supported. win7安裝&配置java8教程: https://jingyan.baidu.c