请教:对话框中若“浏览”文件,数据库连接出错;不点“浏览”就不报错

fengyqf 2007-04-08 04:41:16
一个“插入记录”的对话框,上有一“浏览”按钮,用于浏览一幅图片,另有一按钮,用于将本对话框中用户输入的信息插入到数据库中。
但程序运行时,若不点浏览,信息可以正常插入数据库,没有任何报错;但如果点一下浏览按钮,程序就提示 数据库打开出错,错误信息“未指定的错误”,unknown error 0x800a0e7d 。
不管这个对话框做成模态还是非模态都一样出错
请大哥大姐帮帮忙,提前先谢谢了


void addRcd()
{
.......//省略数据处理过程;在查错阶段,只处理少数(2个)字段的插入,其它的暂时注释掉
_ConnectionPtr m_pCon;
_RecordsetPtr m_pRs;
try
{
m_pCon.CreateInstance(__uuidof(Connection));
m_pCon->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data source=storage.mdb","","",NULL);
}
catch(_com_error e)
{
MessageBox(e.ErrorMessage(),"记录添加时,数据库打开出错");
}

try
{
m_pRs.CreateInstance(__uuidof(Recordset));
m_pRs->Open("Select * from bird",m_pCon.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
}
catch(_com_error e)
{
MessageBox(e.ErrorMessage()),"记录添加时,表打开出错";
}

try
{
m_pRs->MoveLast();
m_pRs->AddNew();
m_pRs->PutCollect("ChnName",(_bstr_t)m_sChnName);
m_pRs->PutCollect("character",(_bstr_t)m_sCharacter);
......//省略部分字段的添加代码
m_pRs->PutCollect("",);
m_pRs->Update();
MessageBox("记录已成功添加");

}
catch(_com_error e)
{
MessageBox(e.ErrorMessage(),"记录插入出错");
}

m_pRs->Close();
m_pRs.Release();
m_pCon->Close();
m_pCon.Release();

}
//“浏览”按钮的响应函数,用于浏览一贴图片,用于将图片的路径插入数据库
void CRcdInsert::OnBtnBrowse()
{
// TODO: Add your control notification handler code here
LPCTSTR szFilter;
szFilter="图片文件(*.jpg,*.gif,*.bmp)|*.jpg;*.gif;*.bmp|所有文件(*.*)|*.*||";
CFileDialog fDlg(TRUE,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
szFilter,NULL);

if(IDOK==fDlg.DoModal())
{
m_sPic.Format(fDlg.GetPathName());
m_sPicName.Format(fDlg.GetFileExt());
}
fDlg.DestroyWindow();
this->UpdateData(TRUE);
this->SetDlgItemText(IDC_EDIT_PIC,m_sPic);
}
...全文
160 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
fengyqf 2007-04-25
  • 打赏
  • 举报
回复
进函数看?没用,看不出来有什么问题,但如果将连接对象设为类的成员变量就不会出错了。
某鸟 2007-04-08
  • 打赏
  • 举报
回复
进函数里看看哪句出错就可以了……

4,011

社区成员

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

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