MFC连接SQL时,出现未指定错误,怎么解决?主要程序代码如下

ming5536 2008-03-29 10:56:18
BOOL CConnectionDlg::OnInitDialog()
{
CDialog::OnInitDialog();

// Add "About..." menu item to system menu.

// IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);

CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}

// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon

// TODO: Add extra initialization here
// 初始化OLE/COM库环境
::CoInitialize(NULL);
try
{
// 创建Connection对象
m_pConnection.CreateInstance("ADODB.Connection");
// 设置连接字符串,必须是BSTR型或者_bstr_t类型
_bstr_t strConnect = "Provider=SQLOLEDB.1;Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=HrSys;Data Source=127.0.0.1;";


m_pConnection->Open(strConnect,"","",adModeUnknown);
// 判断连接状态是否为连接
if(m_pConnection->State == adStateOpen)
MessageBox("连接数据库");
// 关闭连接
m_pConnection->Close();
// 判断连接状态是否为关闭
if(m_pConnection->State == adStateClosed)
MessageBox("断开连接");

}
// 捕捉异常
catch(_com_error e)
{
// 显示错误信息
AfxMessageBox(e.ErrorMessage());
}



return TRUE; // return TRUE unless you set the focus to a control
}


...全文
483 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
effective_person 2008-03-30
  • 打赏
  • 举报
回复
应该上面的 访问的数据库的就可以了
那再看看用户sa的权限:
在 上面的的右边点右击sa用户,点属性,在看看权限。是否可以,查询,插入。。等操作。
ljx_cug 2008-03-29
  • 打赏
  • 举报
回复
CString strConnect = _T("Provider=SQLOLEDB.1; Network Library=DBMSSOCN; Data Source=") + dbSource + _T("; Initial Catalog=") + dbName;
用这个连接字符串试试,dbSource 是数据库IP ,dbName 数据库名字
ming5536 2008-03-29
  • 打赏
  • 举报
回复
_bstr_t strConnect = "Provider=SQLOLEDB.1;Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=HrSys;Data Source=127.0.0.1;";
是这句的错误,可是我不知道是什么原因,对SQL 的用户不熟悉.
canybox 2008-03-29
  • 打赏
  • 举报
回复
未指定错误是什么?lz能否多透露一点信息,比如单步跟踪是在哪一行出现提示框,已经排除了那些情况,可能是那些情况。。。
effective_person 2008-03-29
  • 打赏
  • 举报
回复
_bstr_t strConnect = "Provider=SQLOLEDB.1;Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=HrSys;Data Source=127.0.0.1;"; //这个可能有误!
_bstr_t strConnect="Driver={SQL Server};Server=(127.0.0.1);Database=sa;UID=xiaofeng;PWD=sa";


//还有一点SQL Server 用户sa要在你的数据库的用户中是可以访问的。
ming5536 2008-03-29
  • 打赏
  • 举报
回复
还是不行啊,依旧是未指定的错误.你帮帮我啊,错误都困扰我好长时间了,加我QQ帮我.可以吗?413736634
不想低调 2008-03-29
  • 打赏
  • 举报
回复
_bstr_t strConnect ="Provider=SQLOLEDB.1;Persist Security Info=True;User ID=sa;Initial Catalog=HrSys;Data Source=MING;";//试一试
ming5536 2008-03-29
  • 打赏
  • 举报
回复
帖图向各位求助.
帮我连上SQL
不想低调 2008-03-29
  • 打赏
  • 举报
回复
lz的sql数据库的信息有没添错..?
不想低调 2008-03-29
  • 打赏
  • 举报
回复
"Provider=SQLOLEDB.1;Password=..;Persist Security Info=True;User ID=..;Initial Catalog=..;Data Source=.."

64,849

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧