1.在MFC应用程序中,我先用ADO连接了ACCESS数据库,可以正常连接~~
ACCESS数据库名为test1,里面有一张数据表,名为user1
表里有三列, 分别是 id、name、age
2.我想试一下程序与SQL SERVER 2008的连接,
于是,我在sql server里建立了一个数据库,名为test1,在库里添加了一张表user1
id和age设为int类型,name设为nchar(10)类型~~
3.在连接部分,我把原来连接ACCESS的字符串改了,变成下面的语句:
hr = m_pConnection->Open("Provider=SQLOLEDB; Server=RICHARDLEE;Database=D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\test1.mdf; uid=sa; pwd=sa;","","",adModeUnknown);
其中,RICHARDLEE是我本地服务器的名称,
D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\test1.mdf是我建立的数据库的详细文件名,
数据库没有用户名和密码(设置为windows默认的),
当我运行程序时,提示连接错误,我想知道是什么原因,(PS:我只是改了一下连接字符串而已,其他的地方都未改动)
另外,提示的错误信息是 IDispatch error #3149
也就是说,只要在OnInitDlg函数中,使用
m_pConnection->ConnectionString=L"Provider=……“就行了?
不再需要使用m_pConnection->Open()函数?
我没有用Open函数,连接时没有错误,但是运行时出现错误,如图所示
使用m_pConnection->Open()肯定是需要的。
m_pConnection->ConnectionString=L"Provider= .. 这个只是赋值操作