Springen naar inhoud


- - - - -
Solved

Database Gegevens

Database Data

  • Log in a.u.b. om te beantwoorden
Er zijn 3 reacties in dit onderwerp

#1 Profile

Profile

    Junior Developer

  • Leden
  • PipPip
  • 52 berichten
    Laatst bezocht 14 nov 2014 22:46

Geplaatst op 20 december 2012 - 21:28

Hallo,

Ik heb een probleempje met mijn programma.
ik heb een login formulier gemaakt en wanneer je succesvol inlogt ga je naar de volgende pagina.
Ik heb een database met de gegevens van de klanten ; naam,adres,...
Mijn bedoeling is om de gegevens van de klant dus zijn naam voornaam,adres enzovoort te tonen in een label, maar hier loop ik een beetje vast.
Kan iemand mij helpen aub?

Mvg
Code:
Protected Sub btnLogin_Click(sender As Object, e As EventArgs) Handles btnLogin.Click
	 Dim connect As String = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=C:\Users\daan\Documents\Visual Studio 2010\Projects\GP_FILMCLUB_ZULTE\GP_FILMCLUB_ZULTE\App_Data\GP_DATABASE_FILMCLUB.accdb"
	 Dim query As String
	 query = "Select Count(*) From tblLogin Where Emailadres = ? And Wachtwoord = ?"
	 Dim Resultaat As Integer = 0
	 Using conn As New OleDb.OleDbConnection(connect)
		 Using cmd As New OleDb.OleDbCommand(query, conn)
			 cmd.Parameters.AddWithValue("", txtEmailadres.Text)
			 cmd.Parameters.AddWithValue("", txtWachtwoord.Text)
			 conn.Open()
			 Session("User") = txtEmailadres.Text
			 Resultaat = cmd.ExecuteScalar()
		 End Using
	 End Using
	 If Resultaat > 0 Then
		 Response.Redirect("ReservatieOverzicht.aspx")
	 Else
		 lblLogin.Text = "Invalid credentials"
	 End If
End Sub

End Class



#2 Profile

Profile

    Junior Developer

  • Leden
  • PipPip
  • 52 berichten
    Laatst bezocht 14 nov 2014 22:46

Geplaatst op 21 december 2012 - 13:59

Kan er mij iemand helpen aub?

#3 Johnny

Johnny

    Senior Developer

  • Leden
  • PipPipPip
  • 194 berichten
    Laatst bezocht 04 sep 2021 15:28

Geplaatst op 22 december 2012 - 07:48

Van de ExecuteScalar krijg je maar 1 column/record terug dus daar kan je weinig mee. Ik heb even je code aangepast.
(Niet getest want geen VS bij de hand)
Code:
Dim connect As String = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:\Users\daan\Documents\Visual Studio 2010\Projects\GP_FILMCLUB_ZULTE\GP_FILMCLUB_ZULTE\App_Data\GP_DATABASE_FILMCLUB.accdb"
	 Dim query As String = "Select Naam, Adres, Postcode From tblLogin Where Emailadres = @EmailAdres And Wachtwoord = @Wachtwoord"
	 Using conn As New OleDb.OleDbConnection(connect)
		 Using cmd As New OleDb.OleDbCommand(query, conn)
			 cmd.Parameters.AddWithValue("@EmailAdres", txtEmailadres.Text)
			 cmd.Parameters.AddWithValue("@Wachtwoord", txtWachtwoord.Text)
			 conn.Open()
			 Dim reader As OleDbDataReader = cmd.ExecuteReader()
			 If reader.Read() Then
				 Session.Item("Naam") = reader("Naam").ToString
				 Session.Item("Adres") = reader("Adres").ToString
				 Session.Item("Postcode") = reader("Postcode").ToString
				 reader.Close()
				 Response.Redirect("ReservatieOverzicht.aspx")
			 Else
				 lblLogin.Text = "Invalid credentials"
			 End If
			 reader.Close()
		 End Using
	 End Using


In je pagina ReservatieOverzicht kan je dan je session weer uitlezen met

lblNaam.Text = Session.Item("Naam").ToString

#4 Johnny

Johnny

    Senior Developer

  • Leden
  • PipPipPip
  • 194 berichten
    Laatst bezocht 04 sep 2021 15:28

Geplaatst op 22 december 2012 - 12:14

Trouwens als je veel die Session uitleest is het misschien handiger en beter te onderhouden als je het op de volgend manier doet:


Code:
Protected Sub btnLogin_Click(sender As Object, e As EventArgs) Handles btnLogin.Click
		Dim connect As String = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:\Users\daan\Documents\Visual Studio 2010\Projects\GP_FILMCLUB_ZULTE\GP_FILMCLUB_ZULTE\App_Data\GP_DATABASE_FILMCLUB.accdb"
		Dim query As String = "Select Naam, Adres, Postcode, Plaats From tblLogin Where Emailadres = @EmailAdres And Wachtwoord = @Wachtwoord"
		Using conn As New OleDb.OleDbConnection(connect)
			Using cmd As New OleDb.OleDbCommand(query, conn)
				cmd.Parameters.AddWithValue("@" & PersoonFields.Emailadres.ToString, "john")
				cmd.Parameters.AddWithValue("@" & PersoonFields.Wachtwoord.ToString, "wachtwoord")
				conn.Open()
				Dim reader As OleDbDataReader = cmd.ExecuteReader()
				If reader.Read() Then
					Dim _Persoon As New Persoon
					_Persoon.Naam = reader(PersoonFields.Naam).ToString
					_Persoon.Adres = reader(PersoonFields.Adres).ToString
					_Persoon.Postcode = reader(PersoonFields.Postcode).ToString
					_Persoon.Plaats = reader(PersoonFields.Plaats).ToString
					HelperSessionWrapper.Persoon = _Persoon
					reader.Close()
					Response.Redirect("ReservatieOverzicht.aspx")
				Else
					Dim s As String = "Invalid credentials"
				End If
				reader.Close()
			End Using
		End Using
	End Sub



Code:
Public Class Persoon
	Public Property Naam As String
	Public Property Adres As String
	Public Property Postcode As String
	Public Property Plaats As String
	Public ReadOnly Property VolledigeNaam As String
		Get
			Return String.Format("{0} {1} {2} {1} {3}  {4}", Naam, "<br />", Adres, Postcode, Plaats)
		End Get
	End Property
End Class
Public NotInheritable Class HelperSessionWrapper
   
	Public Shared Property Persoon() As Persoon
		Get
			If HttpContext.Current.Session("SessionWrapperPersoon") IsNot Nothing Then
				Return TryCast(HttpContext.Current.Session("SessionWrapperPersoon"), Persoon)
			Else
				Return Nothing
			End If
		End Get
		Set(value As Persoon)
			HttpContext.Current.Session("SessionWrapperPersoon") = value
		End Set
	End Property
End Class

Public Enum PersoonFields
	Naam = 0
	Adres = 1
	Postcode = 2
	Plaats = 3
	Wachtwoord = 4
	Emailadres = 5
End Enum




In je ReservatieOverzicht pagina kan je deze dan uitlezen met:

Code:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
		If HelperSessionWrapper.Persoon IsNot Nothing Then
			lblGegevens.Text = HelperSessionWrapper.Persoon.VolledigeNaam
		End If
	End Sub







Ook met taq Solved, Database, Data voorzien

0 gebruiker(s) lezen dit onderwerp

0 lid(leden), 0 bezoeker(s), 0 anonieme gebruikers

Inloggen


[Solved] Untitled 1

Met dank aan Jürgen voor de jarenlange inzet van visualbasic.be (anno dec 2000)
Met dank aan Mike en Ronneke voor de jarenlange inzet van vbib.be (anno dec 2010)
Met dank aan PascalBianca voor de jarenlange inzet van vbib.be (anno dec 2016)