SQLEXEC() 函 数

SQLEXEC() 函 数 - 图1将一条 SQL 语句送入数据源中处理

语 法

SQLEXEC( nConnectionHandle , cSQ L Command , [CursorName ])

返 值 类 型数值型 参 数 描 述

nConnectionHandle

SQLEXEC() 函 数 - 图2由 SQLCONNECT ( ) 返 回 的 指 向 数 据 源 的 连 接 句 柄

cSQ L Command

SQLEXEC() 函 数 - 图3送 入 数 据 源 的 SQL 语 句

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

SQLEXEC() 函 数 - 图7SQLEXEC() 函 数 - 图8SQLEXEC() 函 数 - 图9如 如 果 参 数 是 变 量 那 么 该 变 量 必 须 在 SQLEXEC( ) 发 出 之 前 创 建 并 初 始化

CursorName

SQLEXEC() 函 数 - 图10SQLEXEC() 函 数 - 图11SQLEXEC() 函 数 - 图12SQLEXEC() 函 数 - 图13SQLEXEC() 函 数 - 图14V isual FoxPro 临 时 表 的 名 称 结 果 集 合 将 送 入 该 临 时 表 中 如 果 不 包 含 临 时表 名 V isual FoxPro 使 用 默 认 名 SQLRESULT 对 于 多 个 结 果 集 合 通 过 在

SQLEXEC() 函 数 - 图15第 一 个 临 时 表 的 名 称 后 追 加 一 个 递 增 的 数 值 构 成 新 临 时 表 名

说 明

SQLEXEC() 函 数 - 图16SQLEXEC() 函 数 - 图17SQLEXEC() 函 数 - 图18SQLEXEC() 函 数 - 图19SQLEXEC() 函 数 - 图20SQLEXEC() 函 数 - 图21SQLEXEC() 函 数 - 图22SQLEXEC() 函 数 - 图23如果存在多个结果集合 SQLEXEC ( ) 返回结果集合的数目 如果 SQLEXEC( ) 仍在执行 SQLEXEC( ) 返回 0 当 SQLEXEC( ) 结束时 返回 1 如果发生连接级错误SQLEXEC( ) 返回 -1

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

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

示 例

SQLEXEC() 函 数 - 图34SQLEXEC() 函 数 - 图35SQLEXEC() 函 数 - 图36下面的示例假定已经成功地发出 SQLCONNEC T( ) 并且其返回值存入名为gnConnHandle 的变量 SQLEXEC( ) 用来执行一个查询 该查询将 authors 表中的全部内容返回到名为 M yCursor 的临时表中

= SQLSETPROP(gnConnHandle, 'asynchronous', .F.)

= SQLEXEC(gnConnHandle, 'SELECT * FROM authors', 'MyCursor')

请 参 阅

AERROR ( ) , SQLCANCEL( ) , SQLGETPROP( ) , SQLMORERESULTS( ) ,

SQLPREPARE( ) , SQLSETPROP( )