У меня есть глобальная переменная, которая настроена для таймера «I», программа, которую я создаю, имеет пользовательский игровой уровень и сохраняет свое время уровня в базе данных с другими пользователями. Это то, что у меня уже есть.Сохраните значение таймера в базе данных? C#
public static class Global
{
public static int I = 0;
}
^Это глобальная переменная для таймера.
SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\Users\Adam\Documents\Data2.mdf;Integrated Security=True;Connect Timeout=30");
SqlDataAdapter sad = new SqlDataAdapter("Select Count(*) From Login where Username= '" + txtUsername.Text + "' and Password='" + txtPassword.Text + "'", con);
SqlCommand cmd = new SqlCommand("INSERT INTO HighScore (Username, Score) VALUES(@Username,@Score)", con);
DataTable dt = new DataTable(); //empty table
sad.Fill(dt);
if (dt.Rows[0][0].ToString() == "1")
{
con.Open();
cmd.Parameters.AddWithValue("@USERNAME", txtUsername.Text);
cmd.Parameters.AddWithValue("@Score", Global.I);
}
else // else it will display this error
{
MessageBox.Show("Please enter the correct login details");
}
^^ это код для конечного экрана игры, как вы можете видеть, я уже пробовал принимать Global.I и addwithvalue @Score, который находится в таблице HighScore в моей базе данных. Теперь, когда я нажимаю кнопку, он ничего не пишет в базу данных, но я не получаю никаких ошибок при попытке сохранить, вот почему я запутался. Любая помощь будет оценена, спасибо.
Просто хочу сообщить вам, что адаптеры данных и т. Д. - чрезвычайно устаревшая технология. Вероятно, вы должны использовать Entity Framework. – usr
Что касается фактического вопроса: действительно ли вы выполняете команду? Отправьте этот код, поместите точку останова на эту строку и убедитесь, что линия даже нажата. – usr
Нет, все в порядке. Но вы действительно должны выполнять запросы, которые вы пишете. Это всегда помогает. – Will