zoukankan      html  css  js  c++  java
  • C++:SQLServer字段赋值

    大前提:

    1、 初始化环境

    2、 创建连接实例

    3、 创建记录集实例

    注意点:

    1、AddNews失败问题:

    (1)是否将CursorTypeEnum cursorType, LockTypeEnum lockType 两值分别设为 adOpenDynamic, adLockOptimistic等可添加、删除值属性。

    (2)记录集是否打开。

    (3)最后Update();

    2、设置字段值错误:

    (1)赋值超过其值范围

    (2)将CursorTypeEnum cursorType, LockTypeEnum lockType 两值分别设为 adOpenDynamic, adLockOptimistic时,以下方法都能将字段值设置成功:

     

    vtFld = m_pRecordset->GetCollect(lpFieldName);   

    m_pRecordset->PutCollect(vtIndex, vtFld);

     

    HRESULT hr = m_pRecordset->get_Collect(vtIndex,&vtFld);

          if (FAILED(hr))

          {

              return false;

          }

    HRESULT hr = m_pRecordset->put_Collect(vtIndex, var);

          if (SUCCEEDED(hr))

          {

              return true;

          }

     

    vtFld = m_pRecordset->Fields->GetItem(vtIndex)->GetValue();

    m_pRecordset->Fields->GetItem(vtIndex)->PutValue(var);       

     

    HRESULT hr = m_pRecordset->Fields->GetItem(vtIndex)->get_Value(&vtFld);

          if (FAILED(hr))

          {

              return false;

          }

    HRESULT hr = m_pRecordset->Fields->GetItem(vtIndex)->put_Value(vtFld);       

          if (SUCCEEDED(hr))

          {

              return true;

          }

     

    vtFld = m_pRecordset->Fields->GetItem(vtIndex)->Value;

    m_pRecordset->Fields->GetItem(lpFieldName)->Value = var;     

     

             备注:当CursorTypeEnum cursorType, LockTypeEnum lockType 的值分别设置为:adOpenUnspecified , adLockUnspecified时,put_Value可以设置值成功,其他的如PutValue、Value都设置值失败,另外AddNew会出错。这就是将它们全部测试一遍的原因。测试中发现PutValue是put_Value 的进一步封装,这与前者矛盾。不管怎样,遇到离奇的错误,可能是我们某一个属性值设置的不一样 。。。

  • 相关阅读:
    JavaScript 倒计时脚本
    SQL Server 中的事务和锁
    Asp.net MVC 3 开发企业网站系统仿照博客园部分功能总体设计
    Windows RT 应用程序开发介绍培训的讲义
    Wcf异步调用简单示例
    asp.net搜索引擎(网络爬虫)设计及研发
    Twitter Storm RealLife App 排错记
    写个软件来防止服务器网站CPU百分百
    ALinq Dynamic
    .NET的跨平台调用一例(PreserveSig)
  • 原文地址:https://www.cnblogs.com/shenchao/p/3289801.html
Copyright © 2011-2022 走看看