Seite 1 von 1

CXP und PostgreSQL, Zugriff auf Variable

Verfasst: So, 19. Jan 2020 17:44
von xdragon2009
Hallo zusammen,

folgendes Problem:
Ausgangslage: In einem HTML Formular wird in ein SLE ein Wert eingetragen. Dieser Wert wird in eine Variable gespeichert. In dem Beispiel " ::session:variable1 := "Variable 1"". Das klappt auch sopweit. Diese Variable soll dann später ausgelesen werden und mit der SQL Datenbank abgeglichen werden. Allerdings ist die Variable in dem Bereich des Zugriffes auf die SQL Datenbank nicht vorhanden. Was mache ich da falsch?

Code: Alles auswählen

<%#Code locality="page-render"%>

   <html>
   <head>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>   
   </head>
   <body>

   <%
     ::session:variable1 := "Variable 1"
     ? ::session:variable1
   %>
   
   </body>
   </html>


<%#Code locality="page-global"%>

<%
   #include "pgdbe.ch"
%>

<%#Code locality="page-init"%>

<%
   DbeLoad("PGDBE", .T.)
   DbeSetDefault("PGDBE")

   cDBE := "PGDBE"
   cServer := "localhost"
   cDB := "meintest"
   cUID := "postgres"
   cPWD := "postgres"
   
   cConnect := "DBE=" + cDBE +;
               ";SERVER=" + cServer +;
               ";DB=" + cDB +;
               ";UID=" + cUID +;
               ";PWD=" + cPWD

   oSession := DacSession():new(cConnect)

   oSession:isConnected()

   DbUseArea(.T., "PGDBE", "Login", "Login", .T., .F.)

   FOR i := 1 TO login->(LastRec())
      IF AllTrim(login->username) == ::session:variable1   // kein Zugriff auf die Variable?
         ? cEMail := login->EMAIL
	 EXIT
      ENDIF
      login->(DbSkip())
   NEXT

   login->(DbCloseArea())

   oSession:disconnect()
%>