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

在PB中动态修改SQL语句[1],第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 | ProcedureUSING DESCRIPTOR DynamicDescriptionArea}

EXECUTE DYNAMIC Cursor | ProcedureUSING 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_string sql_newlong start_pos= string old_str //select语句中需要替换的字符串string new_str //替换字符串 可以是结构相同的表名

lishixinzhi/Article/program/PB/201311/24558

是要在代码中转换类型还是要修改后台表结构的数据类型?

如果是前台PB的脚本,string(...)本身就是一个函数。可以把括号内的变量转成string类型。

后台,属于数据库修改表结构的范围,使用alter table语句。

不同的数据库,后边部分有用MODIFY,有用ALTER COLUMN的


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10652214.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存