【问题标题】:Item in where query source查询来源所在项目
【发布时间】:2018-06-26 23:24:10
【问题描述】:

嗨,我是 oracle apex 的新手,我正在尝试创建一个动态页面,让用户(登录的用户)只看到我在源查询中尝试过的“他的”记录(P101_USERNAME 是用户名项在登录页面上)

select * from user u where u.username=v('P101_USERNAME')

还有这个

  Select * from user u where u.username=:P101_USERNAME

但是我得到了没有找到数据的错误,我认为我做错了。那么有没有办法创建一个页面,让用户只看到链接到他的用户名(或主键)的记录并隐藏另一个?

【问题讨论】:

标签: sql oracle10g oracle-apex oracle-xe


【解决方案1】:

该用户名字段仅与登录过程的生命周期相关。

在整个申请过程中,您应该参考:APP_USER

查看可用替换字符串列表 https://docs.oracle.com/cd/E59726_01/doc.50/e39147/concept_sub.htm#BEIHCJBG

【讨论】:

  • 登录的用户名和密码是从用户表中选择的,所以我不能使用APP_USER
  • @Ivano 你总是可以(并且应该)使用:APP_USERP101_USERNAME 只是登录页面输入字段的名称,仅此而已。
  • 是的,我为登录创建了一个函数,以使用来自表的用户和传递,问题是我可以在源页面的 where 条件下使用项目吗?以及如何?
  • 好吧,你的时间我想我很热它 APP_USER 获取记录我登录时正在运行的应用程序的用户
【解决方案2】:

如果您使用的是 APEX 5,您现在可以从 APEX$SESSION 应用程序上下文中获取用户。 here

您也可以使用函数 APEX_APPLICATION.g_user here

【讨论】:

    猜你喜欢
    • 2010-09-08
    • 2016-12-23
    • 1970-01-01
    • 2016-06-16
    • 1970-01-01
    • 1970-01-01
    • 2022-10-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多