con.Execute参数详解 - 及实现“存在就修改,不存在就插入”

CommandText, RecordsAffected, Options
参数
CommandText    字符串,包含要执行的 SQL 语句、表名、存储过程或特定提供者的文本。
RecordsAffected    可选,长整型变量,提供者向其返回操作所影响的记录数目。
Options    可选,长整型值,指示提供者应如何计算 CommandText 参数,可为下列值:
常量 说明
AdCmdText 指示提供者应按命令的文本定义计算 CommandText。
AdCmdTable 指示 ADO 应生成 SQL 查询以便从 CommandText 命名的表中返回所有行。
AdCmdTableDirect 指示提供者应从 CommandText 命名的表中返回所有行。
AdCmdTable 指示提供者应按表名计算 CommandText。
AdCmdStoredProc 指示提供者应按存储过程计算 CommandText。
AdCmdUnknown 指示 CommandText 参数中的命令类型未知。
adAsyncExecute 指示命令应该异步执行。
adAsyncFetch 指示对在 CacheSize 属性指定的初始数量之后的剩余行使用异步提取。

 

===============

 

其中RecordsAffected是[out]型的。返回本操作所影响的行数。

 

这个在处理如果存在就修改,不存在就插入的时候非常有用。

举例:

int affected = 0;

con.Execute(L"update ...",&affected);//因为update不会产生主键约束错误,所以先update

if(affected == 0)

   con.Execute(L"insert")

 

 

你可能感兴趣的:(execute)