meine Frage ist sicherlich total einfach zu lösen.Bin Anfänger in VB2005.
Habe ein kleines Programm entworfen zum anlegen von Benutzern inklusieve Passwort für ein Programm. Die Benutzer möchte ich mit den dazugehörigen Passwörtern in einer Datenbank speichern. SQL Datenbank mit den demensprechenden Feldern habe ich bereits angelegt. Nun weiß ich aber nicht wie ich den Benutzernamen und das PW in die Datenbank bekomme. Das eingabe feld ist ein Textfeld.
zusätzlich will ich bei erfolgreichem Anlegen des Benutzers eine MsgBox anzeigen lassen in der steht wie der Benutzer heißt der angelegt wurde.
Nächster schritt ist es die in der datenbank abgelegten User mit dem eingegebenen Usernamen und PW zu vergleichen.
Hier ist das was ich bis jetzt habe
Public Class UserAnlegen
Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click
Me.DialogResult = System.Windows.Forms.DialogResult.OK
If PW1.Text = PW2.Text Then
MsgBox("User ", UserName.Text, „wurde erfolgreich angelegt“)
PW1.Clear()
PW2.Clear()
Me.Close()
Admin.Show()
Else : MsgBox(„Passwort stimmt nicht überein bitte erneut eingeben“)
PW1.Clear()
PW2.Clear()
PW1.Focus()
End If
End Sub
Beim Ausgeben des USernamens kommt auch immer ein Fehler
Habe ein kleines Programm entworfen zum anlegen von Benutzern
inklusive Passwort für ein Programm. Die Benutzer möchte ich
mit den dazugehörigen Passwörtern in einer Datenbank
speichern. SQL Datenbank mit den demensprechenden Feldern habe
ich bereits angelegt.
Welche Datenbank ? SQL Server 2000/2005 oder die MSDE Version ?
Nun weiß ich aber nicht wie ich den
Benutzernamen und das PW in die Datenbank bekomme. Das eingabe
feld ist ein Textfeld.
Der grundlegende SQL Befehl hiesse ‚insert‘.
zusätzlich will ich bei erfolgreichem Anlegen des Benutzers
eine MsgBox anzeigen lassen in der steht wie der Benutzer
heißt der angelegt wurde.
Nächster schritt ist es die in der datenbank abgelegten User
mit dem eingegebenen Usernamen und PW zu vergleichen.
Bisher ok.
Hier ist das was ich bis jetzt habe
Code ist bitte mit
beliebiger Code
anzugeben
So sähe das dann aus:
Public Class UserAnlegen
Private Sub OK\_Button\_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles OK\_Button.Click
Me.DialogResult = System.Windows.Forms.DialogResult.OK
If PW1.Text = PW2.Text Then
MsgBox("User ", UserName.Text, "wurde erfolgreich
angelegt")
PW1.Clear()
PW2.Clear()
Me.Close()
Admin.Show()
Else : MsgBox("Passwort stimmt nicht überein bitte
erneut eingeben")
PW1.Clear()
PW2.Clear()
PW1.Focus()
End If
End Sub
Beim Ausgeben des USernamens kommt auch immer ein Fehler
Welcher ?
Ausserdem sollte man den gesamten Quellcode posten mitsamt der Angabe des jeweiligen Dateinamens und der verwendeten Umgebung. Das obige Beipiel funktioniert z.B. nicht mit VB Express 2005 oder SharpDevelop 2.0 unter W2K mit .NET 2.0 und MSDE 2005…
hallo nochmal, ich hoffe ich poste das jetz richtig
Public Class UserAnlegen
Private Sub OK\_Button\_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK\_Button.Click
Me.DialogResult = System.Windows.Forms.DialogResult.OK
If PW1.Text = PW2.Text Then
UN.Insert(UserName.Text)
MsgBox("User", UserName.Text, "wurde erfolgreich angelegt")
PW1.Clear()
PW2.Clear()
Me.Close()
Admin.Show()
Else : MsgBox("Passwort stimmt nicht überein bitte erneut eingeben")
PW1.Clear()
PW2.Clear()
PW1.Focus()
End If
End Sub
der Tableadapter heißt un
der USername wird uber eine Textbox abgefragt
Ungültige Konvertierung von der Zeichenfolge Test in Typ
Integer.
Test ist hierbei der Anzulegende User
Gemeint war der komplette Programmcode, nicht nur der Ausschnitt, bei dem der Fehler aufgetreten ist. Und da im Hintergrund eine Datenbank auftritt, braucht man auch die Definition derselben (=ER-Modell). Am besten als Skript, welches die SQL-Befehle zum Erstellen enthält.
der Fehler bei
MsgBox("User ", UserName.Text, „wurde erfolgreich angelegt“)
Ungültige Konvertierung von der Zeichenfolge Test in Typ Integer.
ist schon mal richtig:
Bei MsgBox ist das zweite Argument vom Typ Microsoft.VisualBasic.MsgBoxStyle, das letztendlich ein Integer ist. Du hättest Schreiben müssen:
MsgBox("User " & UserName.Text & " wurde erfolgreich angelegt")
Nimm’ doch nicht den alten VB-Krempel, sondern die entsprechenden .NET-Klassen:
MessageBox.Show("User " & UserName.Text & " wurde erfolgreich angelegt")
Außerdem ist das einfache Eintragen des Passworts in die Datenbank ganz schlechter Stil - da kann ja jeder das Passwort auslesen, der in die DB reinschauen kann!
Normalerweise trägt man einen sog. „salted hash“ (google vielleicht mal danach…) in die Datenbank ein und überprüft dann bei der Passworteingabe, ob der Hash des eingegebenen Passworts mit dem gespeicherten Hash übereinstimmt.
Gruß,
Martin
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo,
ich weiß das hört sich jetzt bestimmt blöd an ich habe aber alles Kopiert was in meinem Fenster stand. ich möchte den Tableadapter mit einem Wert füllen und diesen dann in die Datenbank schreiben der Tableadapter macht eine Abfrage auf den Usernamen.
Die Datenbank heist Database1.mdf und die Tabelle UPW in dieser Tabelle gibt es 2 spalten einman USername und einmal Passwort.