ado訪問access
A. 如何使用ADO連接帶密碼的ACCESS資料庫
法1,創建數據源時解鎖:
創建數據源有兩種方式,一是手動創建(到控制面板下);二是用代碼創建(見 動態創建數據源)。
但是如果想在創建數據源的同時解鎖,就只能採用手動的方式了:
只需在輸入了數據源名之後點「高級」,然後輸入登陸名(可任取)及密碼(即access資料庫密碼)即可。
法2,綁定記錄集類時解鎖:
按通常方法綁定了記錄集類後(設記錄集類為Cxxset,資料庫密碼為123,登陸名任取,例如為god):打開xxset.cpp文件,在其中的Cxxset::GetDefaultConnect()中添加黃色部分:
CString Cxxset::GetDefaultConnect()
{
return _T("ODBC;DSN=BookManage;UID=god;PWD=123 ");
}
這樣,記錄集類Cxxset就可以暢通無阻地訪問資料庫了。
B. 怎樣解決用ado連接access庫的路徑問題
不使用絕對路徑,使用相對路徑。將Access資料庫放在您的出行根目錄,這樣不論本機還是其他計算機均可以,不存在找不到路徑的問題。
C. 用ADO怎麼連接Access資料庫
步驟如下:
一、用有源ODBC DSN的方法和無源OLE DB的方法連接資料庫:
1、無源OLE DB:
string strConn="Provider=Microsoft.Jet.OLEDB.4.0 ;Data Source=intels.mdb" ;
2、有源ODBC DSN:
string strConn="Data Source=intels";
如果採用ADO.NET連接SQL Server或者Oracle,方法和VB中連接相應數據的連接字元串一致。
二、開始連接資料庫:
ADOConnection Conn = new ADOConnection(strConn);
三、執行一個select SQL 查詢:
string strSQL = "Select id from test" ;
ADOCommand ADOCmd=new ADOCommand(conn,Conn);
Conn.Open();
ADODataReader reader;
ADOCmd.Execute(out reader);
四、得到ADODataReader中包含的數據:
先執行:
reader.Read();
然後就可以取得數值:
reader["id"].ToString();
依次類推。
五、delete(刪除)語句,insert和update相同:
strSQL="delete from test where id=』1』";
//strSQL="insert into test values(』1』)";
//strSQL="update test set id=』1』";
ADOCommand ADOCmd=new ADOCommand(conn,Conn);
Conn.Open();
ADOCmd.Execute();
D. 如何在沒有安裝access的機器上,運行我的ado+access程
2、Access不是一種存儲格式,是一種軟體。 請大家嚴格區分Access軟體與MDB 格式。以下的語句是錯誤的:「我用VB來開發MIS系統,數據存儲在ACCESS中。」。VB下調用MDB格式(或JET DB)只是調用一種格式的文件而已,並沒有調用到 Access,其實官方說法叫「VB的JET應用」。另外,MDB 格式的文件也可以被其他開發工具,比如DELPHI/PB/C/PHP/ASP/CGI 調用。但是被調用的只是MDB文件,很多ACCESS 軟體所具有的功能,這些開發工具是無法調用的。 也正因為如此,類似這樣的問題「我的系統中沒有安裝OFFICEACCESS,是否能用ASP調用ACCESS 資料庫呢?」,答案是:當然可以,其實你根本沒有使用ACCESS 這個軟體,只是使用了MDB 這種資料庫格式,而這種格式只要系統中有OLEDB引擎就可以支持。WINDOWS98以及以上版本的WINDOWS操作系統都內置支持OLEDB引擎。NET程序必須在 .NETFRAMEWORK下才能運行,而能夠運行 .NETFRAMEWORK 的操作系統中默認都已經安裝了MDAC 無需再次安裝,而且在安裝 .NETFRAMEWORK的時候也會有檢查MDAC的功能。記住,
E. VC++中如何使用ADO連接區域網伺服器中access資料庫急!
這是連接access資料庫的代碼:try
{
hr=m_pCon.CreateInstance("ADODB.Connection");
if(SUCCEEDED(hr))
{
m_pCon->ConnectionTimeout=3;//異常超時時間
hr=m_pCon->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=canyin.mdb","","",adModeUnknown); //設置資料庫名,用戶名,密碼
}
}
ADO訪問資料庫的基本步驟:
(1)、引入ADO類 ,加到stdafx.h中#endif // _AFX_NO_AFXCMN_SUPPORT後面
#import "c:\program files\common files\system\ado\msado15.dll" \
no_namespace \
rename ("EOF", "adoEOF")
(2)、初始化COM (放在對話框初始化函數裡面或者CXXXApp::InitInstance()中)
在MFC中可以用AfxOleInit();非MFC環境中用:
CoInitialize(NULL);
CoUnInitialize();
(3)、包含後就可以用3個智能指針了:_ConnectionPtr、_RecordsetPtr和_CommandPtr
(4)、連接資料庫
HRESULT hr;
try
{
hr = m_pConnection.CreateInstance("ADODB.Connection");///創建Connection對象
if(SUCCEEDED(hr))
{
m_pConnection->ConnectionTimeout = 0;
hr = m_pConnection->Open( "Provider=SQLOLEDB.1;Password=密碼;Persist Security Info=True;User ID=用戶名;Initial Catalog=資料庫名;Data Source=127.0.0.1(本機)", "", "", adConnectUnspecified);
m_pCommand.CreateInstance(__uuidof(Command));
m_pCommand->CommandTimeout = 5;
m_pCommand->ActiveConnection = m_pConnection;
}
}
catch(_com_error e)///捕捉異常
{
CString errormessage;
errormessage.Format("連接資料庫失敗!\r\n錯誤信息:%s,%s",e.ErrorMessage(),e.Description());
AfxMessageBox(errormessage);///顯示錯誤信息
}
(5)、打開記錄集
首先創建一個_RecordsetPtr實例,然後調用Open()得到一條SQL語句的執行結果
_RecordsetPtr m_pRecordset;
m_pRecordset.CreateInstance(__uuidof(Recordset));
// 在ADO操作中建議語句中要常用try...catch()來捕獲錯誤信息,
// 因為它有時會經常出現一些意想不到的錯誤
try
{
m_pRecordset->Open("SELECT * FROM DemoTable",// 查詢DemoTable表中所有欄位
m_pConnection.GetInterfacePtr(), // 獲取庫接庫的IDispatch指針
adOpenDynamic,
adLockOptimistic,
adCmdText);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
……