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());
}
……