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 的进一步封装,这与前者矛盾。不管怎样,遇到离奇的错误,可能是我们某一个属性值设置的不一样 。。。
C++:SQLServer字段赋值的更多相关文章
- 如何解决CRUD操作中与业务无关的字段赋值
提高效率一直是个永恒的话题,编程中有一项也是可以提到效率的,那就是专注做一件事情,让其它没有强紧密联系的与之分开.这里分享下我们做CRUD时遇到的常见数据处理场景: 数据库表字段全部设计为非空,即使这 ...
- 【.Net底层剖析】2.stfld指令-给对象的字段赋值
.Net底层剖析目录章节 1.[深入浅出.Net IL]1.一个For循环引发的IL 2.[.Net底层剖析]2.stfld指令-给对象的字段赋值 3.[.Net底层剖析]3.用IL来理解属性 引言: ...
- C# 类构造函数赋值里属性与字段赋值注意项
public class Test { public Test(int age) { this.Age=age;//如果这里使用的是this.age=age;那么属性里的判断将不会执行 } priva ...
- openEntityForm时候如何给关于(regardingobjectid)类型查找字段赋值?
本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复264或者20170924可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me ...
- oracle赋值问题(将同一表中某一字段赋值给另外一个字段的语句)
将同一表中某一字段赋值给另外一个字段的语句update jxc_ckmx ckmx1 set ckmx1.ddsl = (select ckmx2.sl from jxc_ckmx ckmx2 whe ...
- openEntityForm如何给关于(regardingobjectid)类型查找字段赋值?
本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复264或者20170924可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me ...
- java使用反射强制给private字段赋值
今天项目中遇到了一个问题,要调用一个类,并获取这个类的属性进行赋值然后将这个类传递到方法中做为参数. 实际操作时才发现,这个类中的字段属性是私有的,不能进行赋值!没有提供公有的方法.而这个类又是打包成 ...
- 在PowerDesigner中自动生成sqlserver字段备注
在PowerDesigner中自动生成sqlserver字段备注 PowerDesigner是数据库设计人员常用的设计工具,但其自生默认生成的代码并不会生成sqlserver数据库的字段备注说明.在生 ...
- SqlServer字段说明查询及快速查看表结构
SqlServer字段说明查询 SELECT t.[name] AS 表名,c.[name] AS 字段名,cast(ep.[value] )) AS [字段说明] FROM sys.tables A ...
随机推荐
- 复制到剪切板js代码(转)
<script type="text/javascript" language="javascript"> //复制到剪切板js代码 functio ...
- Django 中文显示
Django中文显示: 1.如要在.py文件中显示中文,在文件首行加上:# -*- coding: utf-8 -*- 2.如要在html文件中显示中文,要将文件保存为UTF-8格式 3.在setti ...
- jquery.lazyload.js实现图片懒载入
个人理解:将须要延迟载入的图片的src属性所有设置为一张同样尽可能小(目的是尽可能的少占宽带,节省流量,因为缓存机制,当浏览器载入了一张图片之后,同样的图片就会在缓存中拿.不会又一次到server上拿 ...
- Mysql配置文件my.ini详解
以下是Mysql数据库服务器配置文件my.ini的详细配置.应用场合是InnoDB引擎,2核CPU, 32位SUSE. [client] #password = your_password port ...
- java开发常用的Linux命令
原文:https://www.cnblogs.com/not-alone/p/8505925.html 1.查找文件 find / -name filename.txt 根据名称查找/目录下的file ...
- JavaScript 函数大全
javascript函数一共可分为五类: ·常规函数 ·数组函数 ·日期函数 ·数学函数 ·字符串函数 1.常规函数 javascript常规函数包括以下9个函数: (1)alert函数:显示一个警告 ...
- MYSQL错误1130:ERROR 1130: Host 10.10.36.115 is not allowed to connect to this MySQL server
解决远程连接mysql错误1130代码的方法 在用远程连接Mysql服务器的数据库,不管怎么弄都是连接不到,错误代码是1130,ERROR 1130: Host 10.10.36.115 is no ...
- Qt 串口类QSerialPort 使用笔记
Qt 串口类QSerialPort 使用笔记 虽然现在大多数的家用PC机上已经不提供RS232接口了.但是由于RS232串口操作简单.通讯可靠,在工业领域中仍然有大量的应用.Qt以前的版本中,没有提供 ...
- JSON劫持漏洞攻防原理及演练
注* 作者发表这篇文章的时间较早,某些方法可能并不是最好的解决方案,但针对这种漏洞进行的攻击还依然可见,如早期的:QQMail邮件泄露漏洞,下面介绍的是对这种攻击原理的介绍. 不久之前,我写了一篇文章 ...
- TextView文字横向自己主动滚动
效果截图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMjI4Nj ...