VC++6.0 ADO 怎么更新 tinyint字段

software_520 2007-12-14 10:31:58

如我这样写是错误的
pSet->Fields->GetItem(_variant_t("出生月份"))->Value=_variant_t((BYTE)12);

pSet->PutCollect(_variant_t("出生月份"),_variant_t((BYTE)12));
...全文
121 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
software_520 2007-12-22
  • 打赏
  • 举报
回复
最后发现是数据库中字段名写错一个字了,粗心啊。
software_520 2007-12-15
  • 打赏
  • 举报
回复
问题已经解决了,很感谢您yang79tao
software_520 2007-12-15
  • 打赏
  • 举报
回复
我转换为long型试试,谢谢你。
software_520 2007-12-15
  • 打赏
  • 举报
回复
void CDatabaseDlg::OnButton1()
{
// TODO: Add your control notification handler code here
_RecordsetPtr pSet=NULL;
HRESULT hr=S_OK;
hr=pSet.CreateInstance(__uuidof(Recordset));
if(FAILED(hr))
{
AfxMessageBox(_T("_RecordsetPtr创建实例失败。"));
return;
}
try
{
pSet->Open(_variant_t("员工基本信息"),_variant_t((IDispatch*)theApp.m_pConnect,true),adOpenKeyset,adLockOptimistic,adCmdTable);
if(!pSet->Supports(adAddNew))
{
MessageBox(_T("不支持插入操作。"),_T("插入出错"));
return;
}

pSet->AddNew();

pSet->Fields->GetItem(_variant_t("姓名"))->Value=_bstr_t("王金本");
pSet->Fields->GetItem(_variant_t("性别"))->Value=_bstr_t("男");
pSet->Fields->GetItem(_variant_t("身份证"))->Value=_bstr_t("123456789098765");
pSet->Fields->GetItem(_variant_t("出生年份"))->Value=_variant_t((short)1985);
// pSet->Fields->GetItem(_variant_t("出生月份"))->Value=_variant_t((BYTE)12);
// pSet->PutCollect(_variant_t("出生月份"),_variant_t((BYTE)12));
pSet->Fields->GetItem(_variant_t("籍贯"))->Value=_bstr_t("安徽六安");
pSet->Fields->GetItem(_variant_t("职位"))->Value=_bstr_t("项目经理");
pSet->Fields->GetItem(_variant_t("部门"))->Value=_bstr_t("研发部");
pSet->Fields->GetItem(_variant_t("办公室电话"))->Value=_bstr_t("2907222");
pSet->Fields->GetItem(_variant_t("移动电话"))->Value=_bstr_t("75805602188");

pSet->Update( );

pSet->Close();

pSet=NULL;
}
catch(_com_error& e)
{
CString error;

error.Format("添加打开员工基本信息表出错。\r\n%s",e.ErrorMessage());
MessageBox(_T(error),_T("提示"));

}
}

就注释那两句运行时有异常.
youngwolf 2007-12-15
  • 打赏
  • 举报
回复
数据库会做转换的,你甚至可以写一个long型到tinyint里面,只要数据在转换过程中不溢出,就不会出问题。
youngwolf 2007-12-15
  • 打赏
  • 举报
回复
把完整代码贴出来看看。
software_520 2007-12-15
  • 打赏
  • 举报
回复
应该是没有用与 tinyint 匹配的数据类型的问题.我不知道该用什么数据类型来匹配.
software_520 2007-12-15
  • 打赏
  • 举报
回复
编译通过,运行到上边那句就出现异常,我用过AddNew()和Update()了.
youngwolf 2007-12-15
  • 打赏
  • 举报
回复
什么错误?
你put后,还要update,数据都会被更新。

4,017

社区成员

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

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