将一条 SQL 语句送入数据源中处理。
语法
SQLEXEC(nConnectionHandle, cSQLCommand, [CursorName])
参数
nConnectionHandle
由 SQLCONNECT( ) 返回的、指向数据源的连接句柄。
cSQLCommand
送入数据源的 SQL 语句。
SQL 语句中可以包含一个参数化的 WHERE 子句,该子句创建一个参数化的视图。所有 WHERE 子句中的参数必须在发出 SQLEXEC( ) 之前定义。例如,如果参数是内存变量,那么该内存变量必须在 SQLEXEC( ) 发出之前创建并初始化。有关创建参数化视图的详细内容,请参阅《开发指南》第八章“创建多表视图”。
CursorName
Visual FoxPro 临时表的名称,结果集合将送入该临时表中。如果不包含临时表名,Visual 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 表示仍在执行)。