2016-04-05 12 views
0

Ich muss auf eine Sitzungsvariable namens "usuario" zugreifen, die von einer anderen Klasse erstellt wurde.Zugriff auf eine Sitzungsvariable, die aus einer anderen Klasse in vb .net erstellt wurde

Zuerst habe ich die folgende Klasse genannt Default.aspx.vb

Protected Sub btnvalidar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnvalidar.Click 
    Dim fila As DataRow 
    Dim nombre As String = "" 

      For Each fila In tabla.Rows 
       nombre = fila("referencia") 
      Next 
      Session.Add("usuario", nombre) 

Ich brauche diese Variable aus der folgenden Klasse CConexion.vb

 _adaptador.SelectCommand = New MySqlCommand("select * from empresas where usuario=Session("usuario")", _conexion) 

Antwort

1

Ihre gesamte SQL-Anweisung aufgerufen zuzugreifen ist in Anführungszeichen eingeschlossen. Sie möchten die Session-Variable auf die Zeichenfolge hinzufügen:

"select * from empresas where usuario= '" + Session("usuario") +"'" 

+0

Ich habe es (Sie sollten wirklich parametrisierte gespeicherte Prozeduren verwenden), aber es ist immer noch ein Fehler in der Variablen, die nicht deklariert ist, und ich kann nicht herausfinden, wie – DavidM

+0

Sitzungsstatus möglicherweise nicht in Ihrer CConexion.vb-Klasse verfügbar ist. Ich kann nicht sicher anhand Ihrer Code-Schnipsel sagen. Möglicherweise müssen Sie einen anderen Weg finden, um die Variable zu übergeben. Fügen Sie vielleicht eine Eigenschaft namens usario in dieser Klasse hinzu und übergeben Sie den Wert. – TG01

+0

Werfen Sie einen Blick auf diese Antwort: http://stackoverflow.com/questions/621549/how-to-access-session-variables-from-any-class -in-asp-net? rq = 1 – TG01

Verwandte Themen