ADO数据库操作问题...

sdklln 2008-01-15 04:57:34
现在是用VC操作Access数据库,m_pRecordset代表_RecordsetPtr;id,name,sex为CString型;现在的问题是如果这三个变量中有空值就会抛异常,怎么在异常处理中得知是哪句抛的异常??
try{
m_pRecordset->AddNew();

m_pRecordset->PutCollect("bianhao",_variant_t(id));
m_pRecordset->PutCollect("mingcheng",_variant_t(name));
m_pRecordset->PutCollect("sex",_variant_t(sex));

m_pRecordset->Update();

}
catch (_com_error &e) {

HRESULT hr=e.Error();
CString eStr;
eStr.Format("The Error Code:%08lx ,The Error Message:%s,The source:%s,The Desp:%ld",hr,e.ErrorMessage(),(LPCTSTR)e.Source(),e.Description());
AfxMessageBox(eStr);
return false;
}
...全文
55 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
shakaqrj 2008-01-15
  • 打赏
  • 举报
回复
为何不在addnew之前判断??
内存泄漏 2008-01-15
  • 打赏
  • 举报
回复
当然~ 不是这种想法技术上不可行, 而是你所想的根本不是平时程序设计的常规做法,由此可见你绝对没有过工作经验, 因为进行一次数据库操作的开销相对是很大的, 因此应该在进行数据库操作之前在程序客户端进行所有必需的数据检测, 再进行数据库处理..
sdklln 2008-01-15
  • 打赏
  • 举报
回复
这种办法我也想过,不过我想做的是在写程序时对异常进行判断,得到是哪个字段出的错;这种想法是不是不可行??还有别的什么解决方法吗?
内存泄漏 2008-01-15
  • 打赏
  • 举报
回复
不要在数据库添加的时候判断空值,影响程序性能.. 你可以先判断用户的输入是否为空,给出相关提示,如果全不为空再执行数据库写入操作...

4,017

社区成员

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

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