Показать информацию о пользователях
У меня есть программа, в которой пользователь должен войти в систему, поэтому у них есть идентификатор и пароль. База данных с данными для входа пользователя хранится в локальном файле.mdf.
Я хотел бы настроить его так, чтобы, пока пользователь входил в систему, остальная часть программы отображала их данные в верхнем правом углу, например, их имя и идентификатор.
К сожалению, я понятия не имею, как это сделать, и все, что я видел во время просмотра, это люди, использующие фактический вход в систему, а это не то, чего я хочу.
Код для формы входа:
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 ответ
Вы можете сделать некоторый статический класс, как этот
public static class LoggedUser
{
public static string Name { get; set; }
public static string Username { get; set; }
}
после успешного входа в систему заполните этот класс данными (в примере):
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();
}
позже вы можете использовать данные, хранящиеся в LoggedUser
класс на каждой форме в вашем проекте...