你瞅啥瞅啊 2018-10-24 09:45 采纳率: 0%
浏览 742
已结题

我的MFC程序执行到pRs->Update();这句时catch到错误 build WHERE ->insert_fields failded?

void CStuInfoModify::OnOK()
{
RecordsetPtr pRs = NULL;
_ConnectionPtr pConnection = NULL;
_bstr_t strCnn(SQLCONSTR);
try
{
UpdateData(TRUE);
// 打开连接
pConnection.CreateInstance(
_uuidof(Connection));
pConnection->Open(strCnn,"","",NULL);
pRs.CreateInstance(__uuidof(Recordset));

    // 根据学号查询学生信息
    CString SqlStr;
    SqlStr.Format("select 备注 from xs where 学号 = '%s'",m_StuXH);
    pRs->Open(_variant_t(SqlStr),_variant_t((IDispatch *) pConnection,FALSE),adOpenDynamic,adLockOptimistic,adCmdText);


    if(!pRs->adoEOF)
    {

        pRs->PutCollect("备注", _variant_t(m_StuBZ));
        pRs->Update(); // 更新到数据库     

    }

    pRs->Close();
    pConnection->Close();
    m_StuADO.Refresh();
    m_StuDG.ReBind();
    m_StuDG.Refresh();
    AfxMessageBox("更新成功!");
}
catch(_com_error &e)
{
    // 捕捉异常
    _bstr_t bstrSource(e.Source());
    _bstr_t bstrDescription(e.Description());
    // 格式化错误提示字符串
    CString sError;
    sError.Format("Source:%sDescription:%s",(LPCSTR)bstrSource,(LPCSTR)bstrDescription);
    // 弹出错误对话框
    AfxMessageBox(sError);
}   
//CDialog::OnOK();

}

  • 写回答

1条回答

  • threenewbee 2018-10-24 10:24
    关注

    备注字段在你的数据库里是什么类型,是不是nvarchar还是ntext,前者的话,长度设置的多少?输入的数据是否超过了长度?
    xs这个表是否有主键?

    评论

报告相同问题?

悬赏问题

  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题