Я создаю приложение WPF, в котором пользователь создает учетную запись и может войти в систему со своим именем пользователя и паролем.После успешного входа пользователя в систему его имя пользователя и другие данные, которые он вводил во время регистрации, должны отображаться на следующей странице.До сих пор, когда я делаю это, единственное, что отображается, это информация о первом зарегистрированном пользователе, независимо от того, какое имя пользователя или пароль используется, но оно должно основываться на том, кто вошел в систему.
Лучше объяснить, есть пользователь A и пользователь B, когда пользователь A входит в свою информацию, отображается, когда пользователь B входит в систему, информация пользователя A по-прежнему отображается независимо от того, что я хочу, чтобы информация о пользователе B (и всех последующих пользователях) отображалась при вводе его конкретного имени пользователя.
C # для команды регистрации
private void SubmitBtn_Click(object sender, RoutedEventArgs e)
{
if (tbStudentName.Text == "" || pbPassword.Password == "" || tbSchoolName.Text == "" || tbHouseName.Text == ""
|| tbProg.Text == "" || tbPhoneNumber.Text == "" || tbAddress.Text == "")
{
var dim = new Dim();
dim.Show();
this.Effect = new BlurEffect();
var cmb = new Custom_MessageBoxes.CustomMsgBox2();
cmb.ShowDialog();
this.Effect = null;
dim.Close();
}
else
{
Connect obj = new Connect();
obj.conn.ConnectionString = obj.locate;
obj.conn.Open();
string InsertUser = "INSERT INTO tblSignUp values ('"+tbStudentName.Text+ "', '" + tbSchoolName.Text + "', '" + tbHouseName.Text + "', '" + tbProg.Text + "', '" + tbPhoneNumber.Text + "', '" + tbAddress.Text + "', '" + pbPassword.Password + "')";
obj.cmd.Connection = obj.conn;
obj.cmd.CommandText = InsertUser;
obj.cmd.ExecuteNonQuery();
obj.conn.Close();
var dim = new Dim();
dim.Show();
this.Effect = new BlurEffect();
var cmb = new Custom_MessageBoxes.RegistrationComplete();
cmb.ShowDialog();
this.Effect = null;
dim.Close();
Clear();
}
}
C # для команды входа
//Sign In button click event
private void UserSignInBtn_Click(object sender, RoutedEventArgs e)
{
SqlConnection sqlCon = new SqlConnection(connectionString);
try
{
Connect obj = new Connect();
obj.conn.ConnectionString = obj.locate;
obj.conn.Open();
SqlDataAdapter adapter = new SqlDataAdapter("SELECT COUNT (*) FROM tblSignUp WHERE StudentName = '"+tbID.Text+"' AND Password = '"+PB.Password+"'", obj.conn);
DataTable dt = new DataTable();
adapter.Fill(dt);
if (dt.Rows[0][0].ToString() == "1")
{
// Custom Message Box and Dim Effect
var jim = new Dim();
jim.Show();
this.Effect = new BlurEffect();
var lsmb = new Custom_MessageBoxes.LoginSuccessfulMsgBox();
lsmb.ShowDialog();
this.Effect = null;
jim.Close();
var User_Homepage = new User_Homepage();
NavigationService.Navigate(User_Homepage);
}
else
{
// Custom Message Box and Dim Effect 2
var him = new Dim();
him.Show();
this.Effect = new BlurEffect();
var rmdlgb = new ReturnMessageDialogueBox();
rmdlgb.ShowDialog();
this.Effect = null;
him.Close();
}
obj.conn.Close();
}
catch(Exception ex)
{
using (EventLog eventlog = new EventLog("Application"))
{
eventlog.Source = "SQL Error: From My Application";
eventlog.WriteEntry(ex.StackTrace, EventLogEntryType.Error, 101, 1);
}
}
finally
{
sqlCon.Close();
}
}
Страницагде я хочу информацию о пользователе
string connectionString = @"Data Source=HP;Initial Catalog=User_SignUpDB;Integrated Security=True;";
public UHP()
{
InitializeComponent();
Page1 p1 = new Page1();
var pls = p1.tbID.Text;
SqlConnection sqlCon = new SqlConnection(connectionString);
sqlCon.Open();
string query = "SELECT * FROM tblSignUP WHERE StudentName = StudentName and HouseName = HouseName";
SqlCommand createCommand = new SqlCommand(query, sqlCon);
SqlDataReader dr = createCommand.ExecuteReader();
if (dr.Read())
{
nameTxt.Text = (dr["StudentName"].ToString());
hseTxt.Text = (dr["HouseName"].ToString());
progTxt.Text = (dr["Prog"].ToString());
}
sqlCon.Close();
}