ASPDotNetStorefront: не получается никаких результатов с пользовательским запросом

Я не могу понять, почему я не получаю результатов с этим кодом:

<Query Name="getClubPoints" RowName="Points">
    <SQL>
        <![CDATA[
            SELECT FirstName, LastName, ClubPoints
            FROM Customer
            WHERE CustomerID = '78520'
        ]]>
    </SQL>
</Query>

<PackageTransform>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:aspdnsf="urn:aspdnsf" exclude-result-prefixes="aspdnsf">
    <xsl:output method="html" omit-xml-declaration="yes"/>

        <xsl:template match="/">
            <xsl:if test="/root/System/CustomerIsRegistered='true'">
                <!--Customer is registered-->
                [<xsl:value-of select="/root/System/CustomerID" />] <xsl:value-of select="concat('Welcome, ',/root/System/CustomerFirstName)"/>!<br />
                You have [<xsl:value-of select="ClubPoints" />] Club Points 
            </xsl:if>
        </xsl:template>

    </xsl:stylesheet>
</PackageTransform>

Этот пользователь (я) имеет 284 Клубных очков. Кроме того, как только я получу эту работу, как я могу заменить 78520 на переменную, чтобы получить идентификатор текущего пользователя, вошедшего в систему?

1 ответ

Это проверит параметры времени выполнения и заменит заполнитель "@customer" в запросе SQL на идентификатор текущего клиента. Смотрите также: http://manual.aspdotnetstorefront.com/p-157-xml-packages.aspx

<Query Name="getClubPoints" RowName="Points">
    <SQL>
        <![CDATA[
            SELECT FirstName, LastName, ClubPoints
            FROM Customer
            WHERE CustomerID = @customer
        ]]>
    </SQL>
    <queryparam paramname="@customer" paramtype="runtime" requestparamname="CustomerID" sqlDataType="int" defvalue="0" validationpattern="" />
</Query>
Другие вопросы по тегам