数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

在PB中动态修改SQL语句[1]


发布日期:2024年07月21日
 
在PB中动态修改SQL语句[1]
PowerBuilder是图形界面的Client/Server应用程序开发环境可以很容易开发出功能强大的应用程序在当前应用非常广泛

数据库应用程序通常进行一项确定的工作在编写和编译时就可以确定完整的SQL语句但是当需要使用PowerBuilder不支持的嵌入SQL语句或者在编译时不能确定SQL语句的具体格式和参数时只能在程序运行过程中构造SQL语句需要使用动态SQL语句

以Format 动态SQL语句为例使用格式如下

DECLARE Cursor | Procedure

DYNAMIC CURSOR | PROCEDURE

FOR DynamicStagingArea ;

PREPARE DynamicStagingArea FROM SQLStatement

{USING TransactionObject} ;

DESCRIBE DynamicStagingArea

INTO DynamicDescriptionArea ;

OPEN DYNAMIC Cursor | Procedure

USING DESCRIPTOR DynamicDescriptionArea} ;

EXECUTE DYNAMIC Cursor | Procedure

USING DESCRIPTOR DynamicDescriptionArea ;

FETCH Cursor | Procedure

USING DESCRIPTOR DynamicDescriptionArea ;

CLOSE Cursor | Procedure ;

在使用动态SQL语句时需准备DynamicStagingArea对象(全局对象SQLSA)和DynamicDescriptionArea对象(全局对象SQLDA)定义游标或过程读取PREPARE语句中的SQL语句以及语句中说明的参数和类型执行FETCH语句后调用相关的函数逐条读取并处理检索结果

动态SQL语句虽然解能够在程序运行过程中构造SQL语句但在实际应用中较少使用若SELECT语句的结果序列一定可以通过重新指定DataWindow对象的SELECT语句的方法达到动态修改SQL语句的功能运用时首先用Describe函数读取DataWindow对象的SELECT语句用Replace等函数修改出符合要求的SELECT语句并且可以增加检索条件再用SetSQLSelect函数为DataWindow控件指定修改后的SELECT语句

程序代码

string sql_stringsql_new

long start_pos=

string old_str //select语句中需要替换的字符串

string new_str //替换字符串可以是结构相同的表名

[] []

               

上一篇:在PB中动态修改SQL语句[2]

下一篇:SQL Server 7.0数据库的六种数据移动方法[2]