请教一下VC该怎样访问数据库?我已经连接成功,为什么老是访问不成功?

来源:百度知道 编辑:UC知道 时间:2024/06/05 19:10:53
头文件里定义了:
#import "C:\Program Files\Common Files\System\ado\msado15.dll" named_guids rename("EOF","adoEOF"), rename("BOF","adoBOF")

文件头部定义了:
_ConnectionPtr m_pConnection;
_CommandPtr m_pCommand;
_RecordsetPtr m_pRecordset;

对话框初始化里有:
HRESULT hr;

try
{
hr = m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象
if(SUCCEEDED(hr))
{
hr = m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=test.mdb","","",adModeUnknown);

}
}
catch(_com_error e)///捕捉异常
{
CString errormessage;
errormessage.Format("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);///显示错误信息

}

然后

按钮操作里面不需要重新调用
m_pConnection.CreateInstance
也不需要重新调用
m_pConnection->Open

CString strSql="insert into 定位信息 values('20','30','40')";

中间表名 改成 英文的 试试

数据库的表有问题不?

这句估计是错的。下个断言试试:
ASSERT(m_pConnection->Open("DSN=test.mdb","","",0) == S_OK);

估计通不过。
楼主知道DSN是什么东西吗?
DSN==DATA SOURCE NAME即数据源名称。连接数据局库一般通过数据源来告知ADO我们感兴趣的数据库。在程序中特指数据源又是依靠DSN来表示的。DSN不是随数据库的创建默认就存在的。一般是创建了数据库,然后到WINDOWS控制面板中找到"数据源(ODBC)"工具,通过"数据源(ODBC)"工具来创建自己的数据源。依操作系统版本不同,"数据源(ODBC)"工具也可能存在于控制面板中“管理工具”项目下。

数据源(ODBC)工具双击之后就能看见已经被注册了的DSN列表。楼主看下有没有叫做“test.mdb”的数据源?应该没有吧,这个只是文件名而已。然后需要添加数据源,选择ACCESS数据库驱动程序引擎,然后选择自己的数据库文件(即test.mdb)。还可以设置用户名和密码等其他和数据源相关联的设置.

P.S.当然不通过数据源,而直接通过磁盘文件名连接数据库也可以。但几乎没人这样做的,什么理由,楼主有兴趣网上搜一下就知道了。