代码
(1)CAdoDB::CAdoDB()
{
::CoInitialize(NULL); //调用ColInitialize初始化环境
}CAdoDB::~CAdoDB()
{
::CoUninitialize(); //释放COM对象
} BOOL CAdoDB::Open(LPCTSTR lpszConnect,long lOptions)
{
m_pConn.CreateInstance("ADODB.Connection");//创建Connection对象
//初始化Recordset指针
m_pRs.CreateInstance(_uuidof(Recordset));
m_strConn=lpszConnect;
if(m_strConn.IsEmpty())
{
return FALSE;
}
if(IsOpen()) Close();
try
{
//连接数据库
return (m_pConn->Open(_bstr_t(m_strConn),"","",lOptions)==S_OK);
}
catch(_com_error e)//异常处理
{
AfxMessageBox(e.ErrorMessage());
}
return FALSE;
}(2)void CConfigView::OnBtnDbcon()
{
if(!UpdateData()) return;//////////////////////////
CString sql;
sql.Format("Provider=SQLOLEDB.1;Password=dbFin;"
"Persist Security Info=False;User ID=dbFin;"
"Initial Catalog=FinanceDB;Data Source=LLITTLEMARK\SQLDB",
m_strPwd,m_strUser,m_strDBName,m_strServer);
//建立数据库的连接和加载数据
if(g_adoDB.Open(sql)==TRUE)
InitCtrlData();} 编译运行成功,但在界面上要求输入SQL SERVER服务名,数据库名,用户名和用户密码,点连接按钮进行连接却怎么也连不上,改了N次了也不行,都是报 ”未指定的错误或“是IDispatch error #3149,如能帮助,感激不尽
(1)CAdoDB::CAdoDB()
{
::CoInitialize(NULL); //调用ColInitialize初始化环境
}CAdoDB::~CAdoDB()
{
::CoUninitialize(); //释放COM对象
} BOOL CAdoDB::Open(LPCTSTR lpszConnect,long lOptions)
{
m_pConn.CreateInstance("ADODB.Connection");//创建Connection对象
//初始化Recordset指针
m_pRs.CreateInstance(_uuidof(Recordset));
m_strConn=lpszConnect;
if(m_strConn.IsEmpty())
{
return FALSE;
}
if(IsOpen()) Close();
try
{
//连接数据库
return (m_pConn->Open(_bstr_t(m_strConn),"","",lOptions)==S_OK);
}
catch(_com_error e)//异常处理
{
AfxMessageBox(e.ErrorMessage());
}
return FALSE;
}(2)void CConfigView::OnBtnDbcon()
{
if(!UpdateData()) return;//////////////////////////
CString sql;
sql.Format("Provider=SQLOLEDB.1;Password=dbFin;"
"Persist Security Info=False;User ID=dbFin;"
"Initial Catalog=FinanceDB;Data Source=LLITTLEMARK\SQLDB",
m_strPwd,m_strUser,m_strDBName,m_strServer);
//建立数据库的连接和加载数据
if(g_adoDB.Open(sql)==TRUE)
InitCtrlData();} 编译运行成功,但在界面上要求输入SQL SERVER服务名,数据库名,用户名和用户密码,点连接按钮进行连接却怎么也连不上,改了N次了也不行,都是报 ”未指定的错误或“是IDispatch error #3149,如能帮助,感激不尽
解决方案 »
- MFC怎么重写Ribbon左上角的菜单事件呢?怎么取消双击关闭事件?
- GetClientRect()既然获得的左上角都是(0,0),那获得的不就是对象的Rect大小吗?
- 如何找到系统或者应用程序的资源文件
- 如何修改Tab控件的背景色!
- 如何得到对话框的背景色
- 显示jpg文件中遇到的一个小问题
- 请问如何实现无闪烁刷屏,我用双缓冲怎么不行啊?高手看看!
- GetWindowModuleFileName函数工作不正常!
- CFile类打开一个文件,如何编辑、删除文件中的部分内容?
- 如何在vs2008中调用动态链接库
- CTreeCTRL的InsertItem( .int nImage, int nSelectedImage,) nImage、nSelectedImage分别指的是什么
- 多线程遇到这个问题:error C2352: 'CWnd::GetDlgItem' : illegal call of non-static member function
sql.Format("Provider=SQLOLEDB.1;Password=dbFin;"
"Persist Security Info=False;User ID=dbFin;"
"Initial Catalog=FinanceDB;Data Source=LLITTLEMARK\SQLDB",
m_strPwd,m_strUser,m_strDBName,m_strServer);
//这句写错了吧,都没格式化进去。
错误编号:80040e4d
错误信息:IDispatch error #3149
错误源:Microsoft OLE DB Provider for SQL Server
错误描述:用户dbFin登录失败如能解决错误,小弟感激不尽