必学技能:pb中查询数据库主键函数 (pb中查询数据库主键的函数)

必学技能:PB中查询数据库主键函数

在软件开发领域,数据库是一个不可或缺的部分。对于PowerBuilder(PB)开发人员,要有效管理数据库数据,必须掌握PB中查询数据库主键函数的使用方法。本文将向您介绍PB中的“GetIdentity”和“LastIdentity”两个函数,并演示它们是如何工作的。

基础知识

在了解如何使用“GetIdentity”和“LastIdentity”函数之前,我们需要了解一下什么是数据库主键。主键是一个唯一的标识符,用于区分数据库表中的每一行。使用主键可以确保每条数据的唯一性,并简化数据访问和操作。在PB中,您可以使用数据窗口来管理数据库表。

如何查询数据库主键

当要在PB中查询数据库主键时,可以使用以下两个函数:

1. GetIdentity:该函数用于获取最后插入的主键,无论是手动还是通过数据窗口插入的数据。

2. LastIdentity:该函数用于获取最后插入的主键,前提是您已经插入了一个数据行,并且该行的主键是由数据库自动生成的。

让我们看一下这两个函数的使用方法:

使用GetIdentity函数

当您想要从数据库中获取最后插入的主键时,可以使用以下PB代码:

long ll_insertID

ll_insertID = dw_1.GetIdentity()

在这个例子中,我们将通过数据窗口dw_1中的GetIdentity函数来获取数据库表中的最后一行主键,该主键是由上一次插入调用自动生成的。

使用LastIdentity函数

如果您已经插入了一行数据,并且该行的主键是由数据库自动生成的,则可以使用LastIdentity函数来获取该行的主键。以下是一个示例:

long ll_insertID

ll_insertID = dw_1.LastIdentity()

在这个例子中,我们通过数据窗口dw_1的LastIdentity函数获取了最后一个插入的主键,这个主键是由数据库自动生成的。

数据库主键是一个用于确保每行数据的唯一性的关键元素。在PB中,使用GetIdentity和LastIdentity函数可以轻松查找最后一个插入的主键。掌握这些技能可以使PB开发人员更加高效地操作数据库,并确保数据的正确性。

当然,除了查询数据库主键,还有很多关于数据库的知识和技能需要掌握。因此,PB开发人员应该不断学习和提高自己的技能,以在各种任务中做到更好的执行。

相关问题拓展阅读:

  • PB内置Oracle数据库接口的使用方法[1]

PB内置Oracle数据库接口的使用方法[1]

PowerBuilder(PB)和Oracle分别是前端开发工具和RDBMS的主流产品 PB提供了两种与Oracle连接的接口 PowerSoft内置的数据库接口(Native Database Interface)和ODBC接口

  

PowerBuilder与Oracle的连接

  假定已安装Oracle客户端应用程序 可用Sqlplus或Tnsping等是否能连接到Oracle数据库 确定在SQL*NET配置文件中使用的数据库别名(Database Alias 又称服务器名 Server Name) 如有疑问 可在Oracle客户端程序目录下tnsname ora文件中找到 另外保证搜索路径已包括SQL*NET应用程序的安装目录(如C:\ORAWIN \BIN)

  进入PB的Database Profiles画笔 可看到所有已安装的数据库接口(PB 缺省安装的是Oracle 版的接口 如使用低版本的Oracle 需在安装时指定) 选择 O Oracle 点击 New 按钮 进入Database Profile Setup对话框 在 Connection 页输入下列信息 Profile Name:为该Database Profile起一个有意义的名称 Server:@TNS:ServerName 其中ServerName为上述数据库别名(服务器名) 如@TNS:ORA ;注意 PB 则没有前面那个@TNS:!!!

  Login ID:Oracle数据库中实际的用户名 由于PB初次连接到数穗册据库时要自动建立五个系统表(PowerBuilder Catalog Table:PBCATTBL PBCATCOL PBCATEDT PBCATFMT PBCATVLD 存储表的扩展属性) 因此之一个连接到Oracle的用户必须具有建表 给PUBLIC角色授权等权限 例如可用SYSTEM用户进行之一次连接 此后的连接对用握族滚户则无特殊要求

  Password:该用户的口令

  设置上述内容后 即可连上Oracle 为优化数据库连接 还可设置下列选项

  Prompt for Database Information:连接时是否提示用户输入用户名和口令

  Generate Trace:启动DB跟踪工具 跟踪连接

  Thread Safe:开发需要多线程环境支持的分布式应用时 选择该项 缺省为未选 适用于非分布应用

  PBDBMS:与存储过程调用方式有关的参数 Oracle为 或更高版本时 清除该选项 此时带IN OUT参数的存储过程可作为数据窗口数据源 版本以下 选择该项 调用PBDBMS Put Line建立存储过程的SQL语句 缺省是选中

  Commit on Disconnect:断开连接时 指定提交或回退未提交的事务

  Case Sensitive:连接的Oracle服务器是否区分大小写 注意该项选中时段余 所有主键 包含主键的表名 外键须全为大写字符

  PowerBuilder Catalog Tables Owner:指定拥有PB系统表的用户 缺省为 SYSTEM 如果要使用多种显示格式或有效性规则 可以在不同的用户下建立几套系统表

  Table Criteria:指定满足哪些条件的表 视图和同义词可在 Select Tables 对话框中显示出来 例如DEV用户下销售子系统的表都以SALE开头 则可以用SALE% DEV TABLE VIEW 指定只显示DEV用户以SALE开头的表和视图

  Asynchronous:选择该项 可在一个复杂的SQL语句执行过程中 返回之一行结果前 切换到其他操作

  Number of Seconds to Wait:若上一项选中 还可进一步通过该项指定检索数据时 等待数据库响应的时间

  Retrieve Blocking Factor:决定数据窗口对象一次可从数据库取出的记录数

  Number of SQL Staments Cached:PB可将数据窗口对象产生的SQL语句和嵌入式SQL语句保存在SQL语句缓冲区 该参数指定缓冲区为PB保留的SQL语句数目 该数值可由下式计算 SQLCache=服务器OPEN CURSORS数 (保留的游标数) 本连接预期使用的更大游标数

  Disable Bind:指定是否将输入变量与SQL语句绑定 此参数影响PB为数据窗口对象生成INSERT语句的方式

  Static Bind:数据窗口对象检索数据前是否检测SELECT语句的合法性

  在Syntax页 还可指定日期 时间的格式等 在Preview页可查看Database Profile设置对应的PowerScript写法

  

Oracle存储过程的使用

  归纳起来PB 中调用Oracle存储过程有以下四种方法

  方法一 以关键字RPCFUNC声明存储过程

  方法二 以DECLARE PROCEDURE语句声明存储过程

  方法三 以动态SQL语句实现

  方法四 调用函数PBDBMS Put Line

  一般情况下 方法一能得到较好的运行效率和更完善的功能 因此推荐使用方法一 但是某些类型的存储过程只能使用其他方法 以下重点介绍方法一和方法二

  两种方法比较起来 有以下几点主要区别

   )方法一适用于具有IN OUT和IN OUT参数的存储过程 而方法二仅支持IN和OUT参数 不支持IN OUT参数

   )方法一对参数的数目无限制 方法二最多支持 个参数

   )方法一不支持记录(Recorder)的传递 方法二可传递和接收记录

  

方法一操作步骤

   )在用户对象画笔中创建一个Class Standard类型的 从Transaction继承的用户对象

   )在此用户对象中 声明Local External Functions 将存储过程以RPCFUNC关键字声明为外部函数 在Declare Local External Functions对话框中按Procedures按钮选择要调用的后台存储过程 或直接输入类似subroutine TEST(long id ref string name)RPCFUNC ALIAS FOR DEVTEST 的语句 例如DEVTEST的参数为(id IN NUMBER name IN OUT VARCHAR )

   )保存该用户对象

   )在Application画笔中 进入应用属性对话框 在Variable Types页 将上Transaction用户对象设置为缺省的全局变量SQLCA

   )脚本中 编码调用相应的外部函数 形式 SQLCA函数名(参数) 如可用 SQLCATEST(ln id ls name) 调用例子中定义的DEVTEST存储过程 其中ln id ls name为调用参数

  

方法一注意事项

   )由于PB中String类型的数据长度是动态分配的 因此对Ref String类型的参数 每次调用前需要申请足够的空间 例如上例从输入的id值检索name 后台声明的NAME数据类型为VARCHAR ( ) 每次调用SQLCATEST前需要用ls name=SPACE( )置ls name为足够长度的空串

lishixinzhi/Article/program/PB/202311/24641

关于pb中查询数据库主键的函数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

香港服务器首选树叶云,2H2G首月10元开通。
树叶云(shuyeidc.com)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/259547.html<

(0)
管理的头像管理
上一篇2025-05-02 18:12
下一篇 2025-05-02 18:13

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注