Во-первых, вам не нужно SqlCon.Close();
в конце. В конце блока using
объект удаляется (точка блока using
).
Вы можете изменить свой оператор выбора, чтобы выбрать только те версии, которые больше текущей версии вашей программы. Таким образом, любые выбранные записи должны быть обработаны / загружены. (Я поместил версию в кавычки в инструкции SQL ниже, потому что ваш код указывает на то, что это строка. Впрочем, вам лучше указать это значение как числовое для целей сортировки / сравнения.)
//for readability, I changed the variable name to myProgramsVersion
using (SqlCon = new MySqlConnection(connString))
{
SqlCon.Open();
string command = "SELECT * FROM version where version > '" + myProgramsVersion + "' ORDER BY version";
MySqlCommand GetLatestVersion = new MySqlCommand(command, SqlCon);
using (MySqlDataReader DR = GetLatestVersion.ExecuteReader())
{
while (DR.Read())
{
string LatestVersion = Convert.ToString(DR.GetValue(1));
string WebURL = Convert.ToString(DR.GetValue(2));
update.DownloadProgressChanged += new DownloadProgressChangedEventHandler(download);
update.DownloadFileCompleted += new AsyncCompletedEventHandler(extration);
update.DownloadFileAsync(new Uri(WebURL), tempFilePath + "patch" + Latest_Version + ".zip");
}
}
}