使用 x++ 在 init 方法中使用 select 初始化变量

initializing variable with select in init method using x++

我是 X++ 的新手,我正在尝试修改表单的 INIT 方法,以便通过表单顶部的消息来问候用户。 问候消息应类似于 "Happy Birthday EmplTable.name!"。 到目前为止,INIT METHOD 中的代码如下所示:

public void init()
{
    CustName    custName = SELECT EmplTable.name FROM Empltabe JOIN   UserLogInfo WHERE EmplTable.EmplId == UserInfo.UserId;

    ;

    //"@NET4183"
    super();
    GreetingMessage.text(strfmt("@NET4183", custName));
}

我很难理解这里出了什么问题以及为什么我无法初始化 custName 变量。 感谢您的帮助! 祝你有美好的一天!

所有变量必须在使用前声明。 X++ 不允许变量声明与其他 X++ 语句混合;变量必须在 X++ 语句之前声明。

Declaration of Variables

您应该先声明变量 EmplTable、UserInfo,然后才能在 select 语句中使用它们。

select 语句的结果在 table 缓冲区变量中返回。如果您在 select 语句中使用字段列表,则只有那些字段在 table 变量中可用。 您可以使用这段代码

custName 变量赋值
custName = emplTable.name;

这个link会给你一个如何找到当前用户的提示

curUserId Function