Как мне постоянно обновлять значение, если оно изменилось в базе данных

0

Я пытаюсь реализовать статус текущего зарегистрированного пользователя в приложении WPF. Я могу читать из базы данных и устанавливать это значение один раз, но мне нужно, чтобы он обновлялся. Например, когда пользователь подключен к сети, и он переходит на занятый. Значение будет в сети, но как только он изменится в базе данных на занятый, значение будет обновляться и занято.

например:

  connection = new MySqlConnection(connectionString);
  Query = "SELECT status FROM Accounts WHERE username=@username";
  connection = new MySqlConnection(connectionString);

  MySqlCommand command = new MySqlCommand(Query, connection);
  command.CommandType = System.Data.CommandType.Text;
  command.Parameters.AddWithValue("@username", thedesiredusername);
  connection.Open();
  MySqlDataReader dataReader = command.ExecuteReader();

  while (dataReader.Read())
  {
     string userstatus = dataReader.GetString("status");
  }

Это установит значение userstatus один раз. Как я могу заставить его сделать что-то вроде этого:

connection = new MySqlConnection(connectionString);
Query = "SELECT status FROM Accounts WHERE username=@username";
connection = new MySqlConnection(connectionString);

MySqlCommand command = new MySqlCommand(Query, connection);
command.CommandType = System.Data.CommandType.Text;
command.Parameters.AddWithValue("@username", thedesiredusername);
connection.Open();
MySqlDataReader dataReader = command.ExecuteReader();

while (dataReader.Read())
{
   //keep doing:
   if (userstatus != dataReader.GetString("status"))
   {
     string userstatus = dataReader.GetString("status");
   }

}

Заранее спасибо!

  • 1
    искать зависимости SQL
  • 0
    Вы также можете иметь сервер, который управляет всем государством.
Показать ещё 6 комментариев
Теги:
database
wpf

2 ответа

0
Лучший ответ

Я использую Devart.Data.MySql Package. это делает именно то, что мне нужно.

1

Если вы можете определить, когда состояние входа изменится или может определить событие, которое удобно проверять (загрузка страницы), модели, управляемые событиями, обычно более эффективны. Если у вас нет этой роскоши, вы так часто просматриваете базу данных, чтобы узнать, изменился ли статус. Подумайте о добавлении фильтра в запрос базы данных, а не на клиентский код.

Как правило, запрос базы данных является самой дорогой частью проверки опроса. Попытка сэкономить пару циклов обработки, проверяя, соответствует ли новый результат последней проверке, не обеспечивает какого-либо массового повышения производительности.

  • 0
    Все хорошо, спасибо. Я посмотрю, смогу ли я сделать первое, что завтра.
  • 0
    опрос будет работать, но это неприятно, потому что это делает программу совсем не гладкой. Я забыл упомянуть, что это программа WPF. Что вы имеете в виду «принять 1 голос против» Если вы можете определить, когда изменится состояние входа в систему или определить событие, которое удобно проверить (загрузка страницы), «я не знаю, как мне это сделать?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню