Я пытаюсь создать страницу MyAccount для веб-сайта, который я создаю, используя ASP.NET и Bootstrap с html и C #, работающими в фоновом режиме для наших объектов. Мы используем SQL Server для запуска наших баз данных, и у меня много проблем с получением обновлений. Я использую тестовый профиль пользователя. Я жестко вставил своего партнера в систему, так как я еще не запрограммировал систему создания учетной записи, только логин.
Проблема заключается в том, что при запуске кода обновления база данных SQL Server не обновляется с использованием переданной информации. Я не получаю никаких исключений и знаю, что моя строка подключения работает, поскольку я использую ее для входа и перетаскивания содержимого моей базы данных в текстовые поля на главном экране. Из-за этого я понятия не имею, почему он не обновляется, и я чувствую себя очень потерянным.
Я удалил биты самой строки подключения, так как этот сервер не мой, и я не хочу личного подключения моего профессораи учетные данные для входа в Интернет.
Мой ярлык отладки, выполняющий запрос, сообщает мне каждый раз, когда я пытаюсь изменить переменную состояния для элемента, на который была произведена 1 строка.
Профиль пользователя, который я пытаюсь обновить, содержит следующую информациюхранится в нем.
Username: MarshallE
Email: Test1234
Password: Test1234!
First Name: Marshall
Last Name: Emmer
Properties Rented: Prime Place
Universities Attended Oklahoma State University
State: N/A (My partner just added this and didn't update the profile)
Вот мой код, который я использовал, чтобы попытаться обновить вещь:
protected void btnRegAcctUpdate_Click(object sender, EventArgs e)
{
// This unit's job is to update the database of the specified user with the info in the text boxes
// Make sure the password fields are the same
if (txtAcctPass1.Text == txtAcctPass2.Text)
{
lblAcctDebug.Text = "";
SqlConnection MyConnection = new SqlConnection();
MyConnection.ConnectionString = "Server= (N/A ;Database=F19_groupRoss;User Id=groupRoss;Password = (N/A);";
string MyUpdateStatement;
MyUpdateStatement = "UPDATE dbo.UserID SET Email = @Email, Password = @Password, FirstName = @FirstName, LastName = @LastName, Universities = @University, Town = @Town, State = @State" + " WHERE UserID = @UserID";
SqlCommand MySqlCmd = new SqlCommand(MyUpdateStatement, MyConnection);
// These are the values we will be overriding the database with
MySqlCmd.Parameters.AddWithValue("@UserID", (string)Session["UserID"]);
MySqlCmd.Parameters.AddWithValue("@FirstName", txtAcctFirstName.Text);
MySqlCmd.Parameters.AddWithValue("@LastName", txtAcctLastName.Text);
MySqlCmd.Parameters.AddWithValue("@Email", txtAcctEmail.Text);
MySqlCmd.Parameters.AddWithValue("@Password", txtAcctPass1.Text);
MySqlCmd.Parameters.AddWithValue("@State", txtAcctState.Text);
MySqlCmd.Parameters.AddWithValue("@Town", txtAcctTown.Text);
MySqlCmd.Parameters.AddWithValue("@University", txtAcctUniversity.Text);
// Open the connection
MyConnection.Open();
int rows = MySqlCmd.ExecuteNonQuery();
lblDebug2.Text = "Rows affected: " + rows;
MyConnection.Close();
}
else
{
lblAcctDebug.Text = "Error: Please ensure the text in the new password and password confirmation boxes are identical";
}
}
Если кто-нибудь может сказать мне, что я делаю неправильно, я ДЕЙСТВИТЕЛЬНО оценил бы это!