2016-05-06 25 views
-2

Ich habe ein Programm, wo der Benutzer anmelden muss, so dass sie eine ID und ein Passwort haben. Die Datenbank mit den Benutzeranmeldedaten wird in einer lokalen .mdf-Datei gespeichert.Eine angemeldete Benutzer Info anzeigen

Ich möchte es einrichten, dass, während der Benutzer angemeldet ist, der Rest des Programms zeigt ihre Details in der oberen rechten Ecke, so zum Beispiel ihren Namen und ihre ID.

Ich habe leider keine Ahnung, wie man das macht und alles, was ich gesehen habe, während ich herumgesucht habe, sind Leute, die den tatsächlichen System-Login benutzen, was ich nicht will.

-Code für das Login-Formular:

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 
using System.Data.SqlClient; 

namespace InventoryManager 
{ 
    public partial class frmLogin : Form 
    { 
     public frmLogin() 
     { 
      InitializeComponent(); 
     } 

     private void frmLogin_Load(object sender, EventArgs e) 
     { 
      this.AcceptButton = btnSubmit; 
     } 

     string cs = @"Data Source= (LocalDB)\v11.0;AttachDbFilename=|DataDirectory|Users.mdf;Integrated Security = True;"; 

     private void btnSubmit_Click(object sender, EventArgs e) 
     { 
      if (txtUserID.Text == "" || txtPassword.Text == "") 
      { 
       MessageBox.Show("Please enter a User ID and Password"); 
       return; 
      } 

      try 
      { 
       SqlConnection con = new SqlConnection(cs); 
       SqlCommand cmd = new SqlCommand("SELECT * FROM tbl_Login WHERE UserID = @userid AND Password = @password", con); 
       cmd.Parameters.AddWithValue("@userid", txtUserID.Text); 
       cmd.Parameters.AddWithValue("@password", txtPassword.Text); 
       con.Open(); 
       SqlDataAdapter adapt = new SqlDataAdapter(cmd); 
       DataSet ds = new DataSet(); 
       adapt.Fill(ds); 
       con.Close(); 
       int count = ds.Tables[0].Rows.Count; 

       if (count == 1) 
       { 
        MessageBox.Show("Login Successful!"); 
        this.Hide(); 
        frmOverview fo = new frmOverview(); 
        fo.Show(); 
       } 

       else 
       { 
        MessageBox.Show("Login Failed"); 
        txtPassword.Text = ""; 
       } 
      } 

      catch (Exception ex) 
      { 
       MessageBox.Show(ex.Message); 
      } 
     } 
    } 
} 
+1

Hinweis: Bereinigen Sie Ihre Eingabe, bevor Sie sie der Abfrage hinzufügen. –

Antwort

1

Sie können wie diese

public static class LoggedUser 
{ 
    public static string Name { get; set; } 
    public static string Username { get; set; } 

} 

nach erfolgreicher Anmeldung eine statische Klasse machen, dass die Klasse mit Daten (in Beispiel) bevölkern:

 if (count == 1) 
     { 
      MessageBox.Show("Login Successful!"); 
      LoggedUser.Name = ds.Tables[0].Rows[1].ToString(); 
      LoggedUser.Username = ds.Tables[0].Rows[2].ToString(); 
      this.Hide(); 
      frmOverview fo = new frmOverview(); 
      fo.Show(); 
     } 

später können Sie Daten in LoggedUser Klasse auf jedem Formular in Ihrem verwenden project ...

+0

Das hat funktioniert, danke für deine Hilfe: D – iiAaronXiX