VS2008 MFC连接SQL数据库

天魔雷帝 2011-10-05 01:29:19
VS2008连接数据库的具体步骤是什么?我看网上有说在控制面板的数据源里面先添加数据源的,以前做JAVA的时候连数据库只要写好连接字符串然后用连接类操作就行,没有在数据源里面添加啊!
下面是我写的代码
_CommandPtr m_ptrCommand; //命令对象
_RecordsetPtr m_ptrRecordset; //记录集对象
_ConnectionPtr m_ptrConnection; //数据库对象

//创建对象
m_ptrCommand.CreateInstance(__uuidof(Command));
m_ptrRecordset.CreateInstance(__uuidof(Recordset));
m_ptrConnection.CreateInstance(__uuidof(Connection));
try{
m_ptrConnection->ConnectionString="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=eForceCon;Data Source=JANE-PC\\SQLEXPRESS";
m_ptrConnection->Open("","","",adModeUnknown);
m_ptrRecordset=m_ptrConnection->Execute("use eForceCon select * from data1",NULL,adCmdText);
m_ptrRecordset->GetCollect("Time");
}
catch(_com_error e) //捕捉异常
{
CString strError;
strError.Format( "连接数据库发生异常! \r \n错误信息:%s",e.ErrorMessage());
AfxMessageBox(strError);//显示错误信息
}


到m_ptrRecordset->GetCollect("Time");这一句就有问题,捕获的异常是:未知错误,求解释啊。高手帮忙啊,以上代码有什么错误呢?或者直接告诉我正确的做法也行啊,刚学,望指点
...全文
254 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
天魔雷帝 2011-10-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zyq5945 的回复:]
异常捕获改成这样试试。


C/C++ code

try
{
//你的ADO代码
}
catch (_com_error& e)
{
AfxMessageBox(e.Description());
}


红色部分不需要加,已经在连接字符串中初始化好了。

m_ptrRecordset=m_ptrConnection->Execute("use eFor……
[/Quote]

的确,那个use eForceCon不应该加上,加上之后会出现问题。最后找到原因貌似是数据库出了点问题,我又重新安装了SQL2008,连接数据库一切正常,谢谢您的解答
柯本 2011-10-05
  • 打赏
  • 举报
回复
这个SQL好像也的问题:
use eForceCon select * from data1
zyq5945 2011-10-05
  • 打赏
  • 举报
回复
异常捕获改成这样试试。

try
{
//你的ADO代码
}
catch (_com_error& e)
{
AfxMessageBox(e.Description());
}


红色部分不需要加,已经在连接字符串中初始化好了。

m_ptrRecordset=m_ptrConnection->Execute("use eForceCon select * from data1",NULL,adCmdText);

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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