SQLEXEC() 函 数
将一条
SQL 语句送入数据源中处理
语 法
SQLEXEC( nConnectionHandle , cSQ L Command , [CursorName ])
返 值 类 型数值型 参 数 描 述
nConnectionHandle
由
SQLCONNECT ( ) 返 回 的 指 向 数 据 源 的 连 接 句 柄
cSQ L Command
送 入
数 据 源 的 SQL 语 句


SQL
语 句 中 可 以 包 含 一 个 参 数 化 的 W H E R E 子 句 该 子 句 创 建
一 个 参 数 化 的视 图 所 有 W H E R E 子 句 中 的 参 数 必 须 在 发
出 SQLEXEC ( ) 之 前 定 义 例


如
如 果 参 数 是 变 量 那 么 该 变 量 必 须 在 SQLEXEC( ) 发 出 之 前 创
建 并 初 始化
CursorName




V
isual FoxPro 临 时 表 的 名 称 结 果 集 合 将 送 入 该 临 时 表 中 如
果 不 包 含 临 时表 名 V isual FoxPro 使 用 默 认 名 SQLRESULT 对 于
多 个 结 果 集 合 通 过 在
第 一
个 临 时 表 的 名 称 后 追 加 一 个 递 增 的 数 值 构 成 新 临 时 表
名
说 明







如果存在多个结果集合
SQLEXEC ( ) 返回结果集合的数目 如果 SQLEXEC( ) 仍在执行 SQLEXEC( )
返回 0 当 SQLEXEC( ) 结束时 返回 1 如果发生连接级错误SQLEXEC( ) 返回
-1





如果
SQL 语句产生一个结果集合 那么 SQLEXEC ( ) 将该结果集合存入指定的
Visual FoxPro 临时表中 如果 SQL 语句产生两个或多个结果集合 同时
SQLSETPROP( ) 设置为 1 ( 批处理方式 ) 可以通过 SQLSETPROP( ) 设置
BatchMode 选项为 0 并且在每次调用 SQLMORERESULTS( )
时更改临时表的名称来命名每个结果集合



SQLEXEC
( ) 是既能同步执行又能异步执行的四个函数之一 SQLSETPROP( )
异步设置决定它们是同步执行还是异步执行 在异步方式下 必须重复调用
SQLEXEC( ) 直到返回一个非零值 ( 0 表示仍在执行 )
示 例


下面的示例假定已经成功地发出
SQLCONNEC T( ) 并且其返回值存入名为gnConnHandle 的变量 SQLEXEC( )
用来执行一个查询 该查询将 authors 表中的全部内容返回到名为 M yCursor
的临时表中
= SQLSETPROP(gnConnHandle, 'asynchronous', .F.)
= SQLEXEC(gnConnHandle, 'SELECT * FROM authors', 'MyCursor')
请 参 阅
AERROR ( ) , SQLCANCEL( ) , SQLGETPROP( ) , SQLMORERESULTS( ) ,
SQLPREPARE( ) , SQLSETPROP( )
