Benutzer id Auslesen
- VB.NET
- .NET (FX) 3.0–3.5
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von patty.
-
-
-
habe es so versucht
Label2 ist der Benutzername
Label 4 Soll die id sein
VB.NET-Quellcode
- Private Sub Startseite_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
- Dim connection As New SqlConnection("server = LAPTOP-TCIJK8DE\SQLEXPRESS1; Database = Verdiensthilfe; Integrated Security = true ")
- Dim command As New SqlCommand("select Id from Table_Benutzer Where Benutzername" = Label2.Text, connection)
- Label4.Text = command.ToString
- End Sub
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „patty“ ()
-
-
Hast vlt ein kleines beispiel verstehe das nicht ganz weil ich will ja die id von dem Benutzer der sich einloggt dort stehen haben
mit dem Benutzernamen habe ich es so im login click gemacht
Else
-
Mal so als Beispiel
VB.NET-Quellcode
- Public Sub MachWas(ByVal UserName As String)
- Dim ConnectionString As String = "Meine Connection"
- Dim SqlCmd As String = "SELECT * FROM Tabelle WHERE " & "UserName" & " LIKE " & "@UserName"
- Dim Data As New DataTable("Tabelle")
- Using Adapter As New SqlDataAdapter(SqlCmd, ConnectionString)
- With Adapter.SelectCommand
- .Parameters.AddWithValue("@UserName", UserName)
- End With
- Adapter.Fill(Data)
- End Using
- If Data.Rows.Count = 0 Then Exit Sub
- Dim UserID As Integer = 0
- Dim UserName_DB As String = ""
- Integer.TryParse(Data.Rows(0).Item("UserIDSpalte").ToString, UserID)
- UserName_DB = Data.Rows(0).Item("UserNameSpalte").ToString
- End Sub
Schau dir auch Using an, ist besonders beim Arbeiten mit SqlDataAdapter, SqlCommand, SqlConnection und so wichtig, damit nach dem Abarbeiten der SqlAbfrage das Objekt wieder geschlossen wird.
Wichtig ist auch, dass du nicht den Usernamen direkt in der SQL Abfrage abfragst, sondern hier mit Parametern arbeitest (siehe Beispiel), da du sonst Problem mit SqlInjections bekommen kannst.
w3schools.com/sql/sql_injection.asp
-
Hi bin dir für dein bespiel echt dankbar
aber bin wohl doch noch zu dumm verstehe auch die Deklaration BenuzernameDb nicht
was raffe ich denn nicht habe es so probiert aber griff ins Klo
VB.NET-Quellcode
- Public Class Startseite
- Public Sub findId(ByVal Benutzername As String)
- Dim ConnectionString As String = "server = LAPTOP-TCIJK8DE\SQLEXPRESS1; Database = Verdiensthilfe; Integrated Security = true"
- Dim SqlCmd As String = "SELECT * FROM Table_Benutzer WHERE " & "Benutzername" & " LIKE " & "@benutzername"
- Dim Data As New DataTable("Tabelle")
- Using Adapter As New SqlDataAdapter(SqlCmd, ConnectionString)
- With Adapter.SelectCommand
- .Parameters.AddWithValue("@benutzername", LblBenutzername.Text)
- End With
- Adapter.Fill(Data)
- End Using
- If Data.Rows.Count = 0 Then Exit Sub
- Dim ID As Integer = 0
- Dim BenutzernameDb As String = ""
- Integer.TryParse(Data.Rows(0).Item("Id").ToString, LblId.Text)
- BenutzernameDb = Data.Rows(0).Item("Benutzername").ToString
- End Sub
- Private Sub Startseite_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
- findId()
- End Sub
-
Versuchs mal so
VB.NET-Quellcode
- Public Class TestDing
- Public Function Login(ByVal Benutzername As String,
- ByVal Passwort As String) As Boolean
- If String.IsNullOrWhiteSpace(Benutzername) Then Return False
- Dim ConnectionString As String = "server = LAPTOP-TCIJK8DE\SQLEXPRESS1; Database = Verdiensthilfe; Integrated Security = true"
- Dim SqlCmd As String = "SELECT * FROM Table_Benutzer WHERE " & "Benutzername" & " LIKE " & "@Benutzername" & " AND " & "BenutzerPasswort" & "=" & "@BenutzerPasswort"
- Dim Data As New DataTable("Tabelle")
- Using Adapter As New SqlDataAdapter(SqlCmd, ConnectionString)
- With Adapter.SelectCommand
- .Parameters.AddWithValue("@Benutzername", Benutzername)
- .Parameters.AddWithValue("@BenutzerPasswort", Passwort)
- End With
- Adapter.Fill(Data)
- End Using
- 'DataTable enthält 0 Zeilen, wenn Benutzername und Passwort nicht in der angegebenen Kombination in Tabelle gefunden wurden.
- If Data.Rows.Count = 0 Then Return False
- Lbl_Id.Text = Data.Rows(0).Item("Id").ToString
- LblBenutzername.Text = Data.Rows(0).Item("Benutzername").ToString
- Return True
- End Function
- Private Sub Startseite_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
- If Not Login("Helmut", "HelmutsPasswort") Then
- MessageBox.Show("Benutzername oder Passwort falsch.", "", MessageBoxButtons.OK, MessageBoxIcon.Error)
- Exit Sub
- End If
- End Sub
- End Class
Oder auch etwas größer, mit einem User-Objekt als Rückgabe, welches später in der Form weiter verwendet werden kann.
VB.NET-Quellcode
- Public Class TestDing
- Public Class User
- Public ReadOnly Property UserId As Integer = 0
- Public ReadOnly Property UserName As String = ""
- ' Weitere Felder wenn vorhanden...
- Sub New(ByVal Row As DataRow)
- If Row Is Nothing Then Exit Sub
- With Me
- 'If Row.Table.Columns.Contains("Id") = Abfrage ob Feld "Id" in der DataRow vorhanden ist, wenn ja ...
- 'AndAlso Not Row.IsNull("Id") = prüfen ob der Wert "Id" nicht Null ist, was zu Fehlern führt beim Auslesen und dann ...
- 'Then Integer.TryParse(Row.Item("Id").ToString, UserId) = Den Wert der Zelle (Row.Item("Id).ToString) mit Interger.TryParse versuchen als Integer in die Klasseneigenschaft "UserID" zuschreiben
- If Row.Table.Columns.Contains("Id") AndAlso Not Row.IsNull("Id") Then Integer.TryParse(Row.Item("Id").ToString, UserId)
- If Row.Table.Columns.Contains("Benutzername") AndAlso Not Row.IsNull("Benutzername") Then UserName = Row.Item("Benutzername").ToString
- 'Weitere Felder wenn vorhanden ...
- End With
- End Sub
- End Class
- Private Function Login(ByVal Benutzername As String,
- ByVal Passwort As String) As User
- If String.IsNullOrWhiteSpace(Benutzername) Then Return Nothing
- Dim ConnectionString As String = "server = LAPTOP-TCIJK8DE\SQLEXPRESS1; Database = Verdiensthilfe; Integrated Security = true"
- Dim SqlCmd As String = "SELECT * FROM Table_Benutzer WHERE " & "Benutzername" & " LIKE " & "@Benutzername" & " AND " & "BenutzerPasswort" & "=" & "@BenutzerPasswort"
- Dim Data As New DataTable("Tabelle")
- Using Adapter As New SqlDataAdapter(SqlCmd, ConnectionString)
- With Adapter.SelectCommand
- .Parameters.AddWithValue("@Benutzername", Benutzername)
- .Parameters.AddWithValue("@BenutzerPasswort", Passwort)
- End With
- Adapter.Fill(Data)
- End Using
- 'DataTable enthält 0 Zeile, weil Benutzername und Passwort nicht in der angegebenen Kombination in Tabelle gefunden wurden.
- If Data.Rows.Count = 0 Then Return Nothing
- Return New User(Data.Rows(0))
- End Function
- Private Property AngemeldeterUser As User = Nothing
- Private Sub Startseite_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
- AngemeldeterUser = Login("Helmut", "HelmutsPasswort")
- If AngemeldeterUser Is Nothing Then
- MessageBox.Show("Benutzername oder Passwort falsch.", "", MessageBoxButtons.OK, MessageBoxIcon.Error)
- Exit Sub
- End If
- Lbl_Id.Text = AngemeldeterUser.UserId
- LblBenutzername.Text = AngemeldeterUser.UserName
- End Sub
- End Class
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „BlueLagoonX“ ()
-
Hi ich glaube du weisst genau wie und wo du was Coden musst
ich bin leider noch nicht so fit
blicke jetzt garnicht mehr durch
weil ich habe ja bereits das login im loginclick
möchte doch nach dem loginclick wenn sich dann die nächste form also Startseite öffnet das die labels benutzername und Id die werte von der Datenbank Tabelle beziehen das muss doch leichter gehen oder täusche ich mich da
Bitte sei mir nicht böse habe mit deinen codes viel probiert aber nichts klapptDieser Beitrag wurde bereits 2 mal editiert, zuletzt von „patty“ ()
-
-
So habs jetzt einfacher gemacht Aber vielen dank
VB.NET-Quellcode
- Private Sub Startseite_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
- Dim Connection As New SqlConnection("server = LAPTOP-TCIJK8DE\SQLEXPRESS1; Database = Verdiensthilfe; Integrated Security = true")
- Dim command As New SqlCommand("SELECT * FROM Table_Benutzer WHERE Benutzername = @benutzername", Connection)
- command.Parameters.Add("@benutzername", SqlDbType.VarChar).Value = LblBenutzername.Text
- Dim adapter As New SqlDataAdapter(command)
- Dim table As New DataTable()
- adapter.Fill(table)
- LblId.Text = table.Rows(0)(0).ToString
- End Sub
-
Ähnliche Themen
-
kevios11 - - Daten(bank)programmierung
-
SeySey - - Kleinkram
-
Rikar - - Daten(bank)programmierung
-
Slave - - Daten(bank)programmierung
-
-
2 Benutzer haben hier geschrieben
- patty (7)
- BlueLagoonX (4)