Hallo mede .NETTERS 
Ik heb een login page gemaakt (eentje die tot mijn verbazing ook nog eens werkt!
) Deze pagina wordt geforceerd via de web.config en na het inloggen gaat de gebruiker door naar de default.aspx. (standaard toch?
) Hierbij wordt ook de gebruikersnaam meeverzonden.
Zie hier login.aspx:
In de default.aspx is het de bedoeling dat de GebruikersId wordt weggeschreven samen met de datum en een documentId waarde van 0 (een soort statistieken)
default.aspx:
Moet ik eerst een nieuwe SELECT maken? En zo ja, hoe kan ik uit die select de gebruikersId halen? Of kan ik User.Identity.Name aanpassen zodat deze de gebruikersId meezend?
Alvast bedankt!!
p.s. hoe kan ik trouwens die database connectie beter doen?
Ik heb een login page gemaakt (eentje die tot mijn verbazing ook nog eens werkt!
Zie hier login.aspx:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
| <script runat="server">
Function GetUser(ByVal naam As String, ByVal pass As String) As System.Data.DataSet
Dim connectionString As String = "server='localhost'; user id='sa'; password=; Database='Database'"
Dim sqlConnection As System.Data.SqlClient.SqlConnection = New System.Data.SqlClient.SqlConnection(connectionString)
Dim queryString As String = "SELECT [InkoopGebruikers].* FROM [InkoopGebruikers] WHERE (([InkoopGebruikers].[Naam] = @Naam) AND ([InkoopGebruikers].[Pass] = @Pass))"
Dim sqlCommand As System.Data.SqlClient.SqlCommand = New System.Data.SqlClient.SqlCommand(queryString, sqlConnection)
sqlCommand.Parameters.Add("@Naam", System.Data.SqlDbType.Char).Value = naam
sqlCommand.Parameters.Add("@Pass", System.Data.SqlDbType.Char).Value = pass
Dim dataAdapter As System.Data.SqlClient.SqlDataAdapter = New System.Data.SqlClient.SqlDataAdapter(sqlCommand)
Dim dataSet As System.Data.DataSet = New System.Data.DataSet
dataAdapter.Fill(dataSet)
Return dataSet
End Function
Sub Inloggen(Sender As Object, E As EventArgs)
If Page.IsValid Then
Dim userDS As New System.Data.DataSet
userDS = GetUser(UserName.Text, UserPass.Text)
If userDS.Tables(0).Rows.Count = 1 Then
FormsAuthentication.RedirectFromLoginPage(UserName.Text, true)
Else
Msg.Text = "Onvoldoende gegevens: Probeer opnieuw"
End If
End If
End Sub
</script> |
In de default.aspx is het de bedoeling dat de GebruikersId wordt weggeschreven samen met de datum en een documentId waarde van 0 (een soort statistieken)
default.aspx:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| Dim NewDate as DateTime = now
Public Sub Page_Load(Sender As System.Object, E As System.EventArgs)
Welkom.Text = "Hallo, " + User.Identity.Name
Gebruiker.Text = User.Identity.Name
Dim connectionString As String = "server=localhost'; user id='sa'; password=; Database='Database'"
Dim sqlConnection As System.Data.SqlClient.SqlConnection = New System.Data.SqlClient.SqlConnection(connectionString)
Dim queryString As String = "INSERT INTO [InkoopStatistieken] ([GebruikersId], [Date], [DocumentId]) VALUES (@GebruikersId, @Date, @DocumentId)"
Dim sqlCommand As System.Data.SqlClient.SqlCommand = New System.Data.SqlClient.SqlCommand(queryString, sqlConnection)
sqlCommand.Parameters.Add("@GebruikersId", System.Data.SqlDbType.Int).Value = "1" (hier forceer ik hem dus nog)
sqlCommand.Parameters.Add("@Date", System.Data.SqlDbType.DateTime).Value = NewDate (Een Datetime var)
sqlCommand.Parameters.Add("@DocumentId", System.Data.SqlDbType.Int).Value = "0"
Dim rowsAffected As Integer = 0
sqlConnection.Open
Try
rowsAffected = sqlCommand.ExecuteNonQuery
Finally
sqlConnection.Close
End Try
End Sub |
Moet ik eerst een nieuwe SELECT maken? En zo ja, hoe kan ik uit die select de gebruikersId halen? Of kan ik User.Identity.Name aanpassen zodat deze de gebruikersId meezend?
Alvast bedankt!!
p.s. hoe kan ik trouwens die database connectie beter doen?
Webdeveloping... -counts to 10- Sigh...