ADO判断SQL语句影响行

ADO方式,VC调用Execute执行INSERT INTO插入变量SQL语句的写法 有些情况下,SQL SERVER 2008r2中需要保存float,int类型的数据,当C++中的变量为double类型时,先格式化为Cstring格式,再组合成SQL语句。 对应的C++ 插入语句写法如下: m_pConnection->Execute(_bstr_t("INSERT INTO Gps(GPSTIME,S1XZWZ,S1X,S1Y,S1HZJD,S1DW,S1FX)\ 阅读详情

使用ADO操作数据库,往往需要判断当前SQL影响的行数,Execute 方法 (ADO Command)可以实现该功能。

 

执行在 CommandText 属性中指定的查询、SQL 语句或存储过程。

语法

对于按行返回的 Command:

Set recordset = command.Execute( RecordsAffected, Parameters, Options )

对于非按行返回的 Command:

command.Execute RecordsAffected, Parameters, Options

返回值

返回 Recordset 对象引用。

参数

RecordsAffected   可选,长整型变量,提供者向其返回操作所影响的记录数目。RecordsAffected 参数仅应用于操作查询或存储过程。RecordsAffected 不返回由返回结果的查询或存储过程所返回的记录数目。详细信息,请使用 RecordCount 属性。

Parameters   可选,变体型数组,使用 SQL 语句传送的参数值。(用该参数传送时输出参数将不返回正确值。)

Options   可选,长整型值,指示提供者如何计算 Command 对象的 CommandText 属性。该值可为下列常量之一:

常量说明
AdCmdText指示提供者应按命令的文本定义(如 SQL 语句)来计算 CommandText。
AdCmdTable指示 ADO 应生成 SQL 查询以便从 CommandText 命名的表中返回所有行。
AdCmdTableDirect指示提供者应从 CommandText 命名的表中返回所有行。
AdCmdStoredProc指示提供者应按存储过程计算 CommandText。
AdCmdUnknown指示 CommandText 中的命令类型未知。
adAsyncExecute指示命令应异步执行。
adAsyncFetch指示对由 CacheSize 属性指定的初始数量之后的剩余行应使用异步提取。

本列表中前 4 个常量的详细说明请参见 CommandType 属性。

说明

使用 Command 对象的 Execute 方法可执行在对象的 CommandText 属性中指定的查询。如果 CommandText 属性指定按行返回查询,执行所产生的任何结果都将存储在新的 Recordset 对象中。如果该命令不是按行返回查询,则提供者返回关闭的 Recordset 对象。某些应用程序语言允许忽略该返回值(如果不需要任何 Recordset)。

如果查询带有参数,将使用 Command 对象中参数的当前值,除非通过 Execute 调用传送的参数覆盖它们。可以在调用 Execute 方法时通过省略某些参数的新值来覆盖参数子集。指定参数的次序与其在方法中被传送的次序相同。例如,如果有 4 个(或更多)参数并且希望只为第一个和第四个参数传送新值,则可以将 Array(var1,,,var4) 作为 Parameters 参数传送。

注意    在 Parameters 参数中传送时输出参数将不返回正确的值。

该操作结束后将发出 ExecuteComplete 事件。

 

DEMO:

         _variant_t vRecordsAffected;

         try
         {
                  m_pConnection->Execute( _bstr_t(sSql), &vRecordsAffected, adCmdText);
           }

        vRecordsAffected ---表示当前SQL执行的影响行数。

 

不过在项目中遇到个问题,如果一个表中带有触发器,并且该触发器并不是每次都能执行成功(如 update),当往该表中执行

insert语句的时候,update却没执行成功,这个时候vRecordsAffected 值返回零。

当使用vRecordsAffected 作为返回值判断insert成功时,会造成数据的无法正常入库,分析查询分析器就可以获取两次影响行状态,但如何在VC中实现该功能,这个问题一直没解决.....

 

后来改用之前写的http://blog.youkuaiyun.com/happyhell/archive/2007/12/21/1956851.aspx数据库回滚方案,解决了该问题,防止数据丢失的问题。
 

ADO.NET关于SQL server数据库的操作 ADO.NET操作数据库的具体实现配置连接字符串创建SQL连接对象打开连接执行SQL语句关闭连接对象 配置连接字符串 在使用ADO.NET操作数据库之前,需要在web.config中配置连接字符串,然后在具体的文件中获取,当然,你也可以不在配置文件中配置,你同样可以在每个页面中定义连接字符串,但是我们在编程中,如果同样的代码出现了多次,我们就要写一个模板了,来避免代码的冗余,并且把连接字符串写在配... 阅读详情

相关推荐

39、ADO与SQL Server开发全解析

本文深入解析了ADO技术与SQL Server开发的各个方面,包括ADO对象基础、游标控制、连接创建、SQL语句执行以及Recordset操作等内容。通过详细讲解和示例代码,帮助开发者掌握如何高效地使用ADO与SQL Server进行交互。同时,还涵盖了性能优化建议和错误处理方法,以提升应用程序的稳定性和效率。

prometheus5watch的博客 108

conn.Execute()用法详细介绍

 set rs=joekoe_cms.exec(sql,1)对这个语句的详细解释说明:joekoe_cms数据库连接对象的一个实例。因此我们应该解释一下conn.exec(sql,1)而exec其实是Execute的简写形式。因此我们应该看下Execute()函数的用法,从网易学院上看到如下这段文字。Execute 方法 (ADO Connection)执行指定的查询、SQL 语句、存储过程或

一个小菜鸟的C#学习日记 2万+

PHP与MySQL ADO操作全面指南

随着互联网技术的快速发展,Web应用程序的需求日益增长,对于数据库的访问和数据交互的要求也越来越高。为了满足这种需求,微软推出了ActiveX Data Objects(ADO),这是一种数据访问技术,它允许开发者通过编程的方式访问存储在不同数据源中的信息,例如数据库和文件系统。ADO技术的出现,极大地简化了开发者对数据库的操作过程。与传统的数据库操作方式相比,ADO提供了一个更加高级的抽象层,使得开发者可以不必了解底层数据库的具体细节就能进行数据访问和操作。

weixin_31938351的博客 1045

ADO Execute 方法 (ADO Connection)

Execute 方法 (ADO Connection)执行指定的查询、SQL 语句、存储过程或特定提供者的文本等内容。语法对于非按行返回的命令字符串:connection.Execute CommandText, RecordsAffected, Options 对于按行返回的命令字符串:Set recordset = connection.Execute (Command

思源领航 6126

掌握ADO技术:连接并操作SQL SERVER数据库

ADO(ActiveX Data Objects)技术诞生于上世纪九十年代末,当时是为了满足在Windows平台上进行数据访问的需求。作为一种编程模型,ADO支持对多种数据源进行快速访问,从数据库到文本文件,甚至是电子邮件服务器和Web页面。随着互联网的兴起和企业信息化建设的快速发展,数据访问变得越来越重要。ADO作为一种成熟的技术,很快就成为了许多开发人员进行数据访问的首选工具。它允许开发者通过编程的方式操作数据,而无需深入了解底层数据源的具体实现。

weixin_35899324的博客 813

基于STM32的工业设备状态监测系统

工业设备的预测性维护需求日益增长,本文设计了一款基于STM32的智能监测终端,可实时采集设备振动、温度、电流等关键参数,通过边缘计算分析设备健康状态,实现故障预警与能效优化。系统支持4G/LoRa远程通信,适用于工厂、发电站等工业场景。本系统实现了工业设备关键参数的实时监测,故障识别准确率达到92%。:STM32F429(带FPU,支持浮点运算)多参数联合判据(振动+温度+电流突变检测)ACS712电流检测模块(0-30A)FFT频谱分析(识别轴承故障特征频率)故障代码生成(支持16种预设故障类型)

stm32d1219的博客 1321

[ADO.NET] DataReader的 RecordsAffected属性 / 新增、删除、修改的 .ExecuteNonQuery()方法之传回值...

[ADO.NET] DataReader的 RecordsAffected属性 / 新增、删除、修改的 .ExecuteNonQuery()方法之传回值 原文出处:http://www.dotblogs.com.tw/mis2000lab/archive/2011/04/15/datareader_recordsaffected_20110415.aspx 建议各位还是参...

weixin_30800807的博客 818

单总线CPU设计(变长指令周期3级时序)(HUST)(头歌实验)

利用比较器等功能模块将32位MIPS 指令字译码生成LW、SW、BEQ、SLT、ADDI、OtherInstr信号也就是利用比较器将指令字转换为译码信号,OP与不同信号对应(查询MIPS手册得知) 16 进制 :23 是 2进制: 00100011 ,把获得的OP,Func,和常数比对,相同输出1.按照题目要求填写表格,使用logisim的组合逻辑电路分析功能,当然也可以直接再logisim中写真值表。单总线采用变长指令周期,不同指令周期数不同,节拍数可变化。写的excel表格最终生成电路(当然 需要先把

xuxuaifeifei的博客 1万+

SqlDataReader.RecordsAffected 属性

IDataReader.RecordsAffected屬性取得 SQL 陳述式 (Statement) 的執行所變更、插入或刪除的資料列數目命名空間: System.Data組件: System.Data (在 system.data.dll 中)C#:intRecordsAffected{get;}屬性值更改、插入或删除的行數;如果没有任何行受到影响或语句失败返回...

weixin_33933118的博客 377

打通Creo与Matlab的桥梁:Simscape Multibody Link插件安装与配置全攻略

本文详细介绍了Simscape Multibody Link插件的安装与配置全流程,旨在帮助机械工程师和开发者打通Creo与Matlab/Simulink之间的桥梁,实现CAD模型到多体动力学仿真的高效转换。文章重点解析了版本兼容性、管理员权限、注册文件配置等关键步骤与常见故障排查方法,助力用户快速建立设计与仿真一体化工作流。

rrr55的博客 634

AD2S1210与DSP28335 SPI通信中的GPIO配置陷阱与解决

本文深入剖析了AD2S1210与DSP28335进行SPI通信时,因GPIO输入限定配置不当导致数据整体右移的典型问题。文章指出,错误地将MISO引脚配置为带采样周期的同步模式是根本原因,并提供了将输入选择限制正确设置为异步模式的解决方案。同时,总结了不同应用场景下GPIO输入限定的配置原则,为高速同步通信的稳定实现提供了关键指导。

weixin_29163857的博客 146

SQL语句与ADO编程学习总结2——ADO编程

当DataSet实例中包含数据发生更改后,此时调用Update方法,DataAdapter 将分析已作出的更改并执行相应的命令(INSERT、UPDATE 或 DELETE),并以此命令来更新数据库中的数据。ExecuteReader()方法可以执行查找语句,它返回的是一个结果集,一般的我们可以用一个叫做DbDataReader的对象来接收这个结果集,DbDataReader也称为数据读取对象,提供了一个只读只进的数据读取器,用于从查询结果中读取数据,它每次只能读取一行数据,并且。

2201_75413073的博客 414

Android手机本地语音转文字实战:用FunASR+ONNX Runtime打造离线ASR应用(附模型下载)

本文详细介绍了如何在Android应用中集成FunASR和ONNX Runtime,构建高性能的离线语音识别系统。通过模型选择、工程化集成和性能调优等实战技巧,开发者可以实现本地语音转文字功能,有效保护用户隐私并提升响应速度。

weixin_29046611的博客 266

我纠结的sql返回受影响行数与判断是否成功的问题

比如:deleteSQLWhere="delete TableA where ID in(1,2,3,4,5)";   try { int i = sqlHelper.ExecuteNonQuery(CommandType.Text, deleteSQLWhere); if (

爬行 4192

麒麟系统无法进入单用户模式该怎么办?

🏆本文收录于《全栈Bug调优(实战版)》专栏,主要记录项目实战过程中所遇到的Bug或因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!! 备注:部分问题/疑难杂症搜集于互联网。

**My Coding Family** 1820

CAPL诊断功能实现

UDS(Unified Diagnostic Services)是一种用于汽车电子系统诊断的标准协议。它定义了一系列诊断服务,用于读取和写入车辆电子控制单元(ECU)中的数据,以及处理诊断故障码(DTC)。UDS协议通常运行在CAN总线上,使用ISO 15765-2(ISO-TP)协议进行数据传输。通过本文的学习,读者应该对CAPL诊断功能实现有了初步的了解,并能够编写复杂的CAPL脚本。在实际项目中,CAPL的应用非常广泛,希望读者能够通过不断的学习和实践,掌握更多的CAPL技巧,提高自己的开发能力。

闲人编程的博客 1516

sqlCommand.ExecuteNonQuery返回sql语句影响行数问题

sqlCommand.ExecuteNonQuery返回sql语句影响行数问题 Public Shared Function sqlcon_Executeint(ByVal sql As String) As Integer 执行sql更新语句并返回影响行数,当为select语句时,请用count(*)样式 Using sqlcmd As New SqlCommand Dim sqlCom

zjh608的专栏 1227

【数据集】基于ubESTARFM法的100m 地温LST数据集(澳大利亚)

【数据集】基于ubESTARFM法的100m 地温LST数据集(澳大利亚)

WW、forever的博客 265

ADO中的SQL语句

】ADO中的SQL语句 2011-06-17 19:49 转载自 bjwyl66 最终编辑 bjwyl66 1、在ADO连接数据库查询的时候,有时候要根据一个变量得到一个具体值,然后根据这个值去查询数据库,这样它的SQL语句是这样写的: CString strQuery;    strQuery.Format("SELECT * FROM 表名 WHRER fi

523

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

ADO.NET用法(SQL2008为例)sqlDataReader

个或多个这样的水池子组成。 一、connection对象 二、关闭链接

IT技术猿猴的博客 837

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

ADO.NET

ADO.NET是微软 . NET数据库的访问构建,主要提供一个面向对象的数据库访问构建,用来开发数据库应用程序。 ADO.NET主要包括; Connection:主要用来提供数据库的连接功能 Command 对象用于返回数据,修改数据,运行存储过程以及发送或检索参数信息的数据库命令。 DataReader对象通过 Command对象提供从数据库检索信息的功能,它以一种只读的,向前的,快速的,方...

weixin_42974146的博客 9928

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

ef执行原生sql语句_在EF中执行SQL语句

一、为什么要在EF中执行SQL语句使用EF操作数据库,可以避免写SQL语句,完成使用Linq实现,但为什么还要在EF中执行SQL语句呢。如果要写SQL语句,完全可以使用ADO.NET来操作数据库。这样说虽然没错,可是有些时候使用EF操作数据库还是有一些不方便的地方,例如:如果要修改某一条记录,按照EF的正常流程走,需要先把要修改的数据查询出来,然后在去修改,这样不仅麻烦而且性能也低,这时直接使用E...

weixin_32626635的博客 3640

ODBC、OLEDB、ADO、ADO.NET之间的关系

相信看到这篇文章的人,心中肯定有这样的想法:ODBC、OLEDB、ADO、ADO.NET貌似都是访问数据库的东东,那么他们之间有什么区别,又有什么联系呢?不要着急,待我慢慢道来。 先说ODBC,官方的定义是这样的,开放数据库互连(ODBC)是MICROSOFT提出的数据库访问接口标准。ODBC(Open DatabaseConnectivity,开放数据库互连)提供了一种标准的API(应

梦想起飞的地方,必须用心去经营 9843

SQl Server——ADO.NET五大对象

ADO.NET是什么? ADO.NET是一组用于和数据源进行交互的面向对象类库。简单来说也就是访问数据库的一种方式 为什么要使用ADO.NET? 在某些编程中总是会需要用到数据库,那如何让应用程序和数据库之间建立联系呢?ADO.NET就提供了应用程序连接数据库的桥梁 ADO.NET由哪些组成呢? DataSet:数据集 .NET Framework:数据提供程序,为了实现数据操作...

一起加油吧~ 1538

delphi 事务处理SQL语句

方法一(利用adoconnection.exe(sqlstate)): adoconnection1.begintrans;//开始事务 try  adoconnection1.execute(sqlstr1);  adoconnection1.execute(sqlstr2);  ...  adoconnection1.execute(sqlstrN);  adoconnectio

chinajobs的专栏 4232
上一篇: TortoiseSVN使用步骤
下一篇: 戒嗔的洗发水
happy hell
博客等级 码龄23年 136粉丝 179原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值