Я пытаюсь реализовать статус текущего зарегистрированного пользователя в приложении 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");
}
}
Заранее спасибо!
Я использую Devart.Data.MySql Package. это делает именно то, что мне нужно.
Если вы можете определить, когда состояние входа изменится или может определить событие, которое удобно проверять (загрузка страницы), модели, управляемые событиями, обычно более эффективны. Если у вас нет этой роскоши, вы так часто просматриваете базу данных, чтобы узнать, изменился ли статус. Подумайте о добавлении фильтра в запрос базы данных, а не на клиентский код.
Как правило, запрос базы данных является самой дорогой частью проверки опроса. Попытка сэкономить пару циклов обработки, проверяя, соответствует ли новый результат последней проверке, не обеспечивает какого-либо массового повышения производительности.