using System; using System.Windows.Forms; using MySql.Data.MySqlClient; using Results; namespace TBF.Forms { public partial class UpgradeSelectionDlg : Form { int batchFrom; int batchTo; public UpgradeSelectionDlg() { InitializeComponent(); batchFrom = 1; batchTo = Program.LocalSettings.BatchNr - 1; } private void upgradeDbButton_Click(object sender, EventArgs e) { string[] commands = new string[] { "ALTER TABLE `testrslt` ADD `ErrorFlagsMd` TINYINT( 4 ) NOT NULL DEFAULT '0' AFTER `ErrorMaster`, ADD `ErrorFlags` INT NOT NULL DEFAULT '0' AFTER `ErrorFlagsMd`, ADD `DiverterStart` FLOAT NOT NULL DEFAULT '0.001' AFTER `ErrorMaster`, ADD `DiverterEnd` FLOAT NOT NULL DEFAULT '0.001' AFTER `DiverterStart`;", "ALTER TABLE `watermeter` ADD `ErrorFlags` INT NOT NULL DEFAULT '0' AFTER `QFall`;", }; if (Common(new MySqlConnection(Results.DB.ConnectionString), commands)) { upgradeDbButton.Enabled = false; } } private void upgradeDb_216_217_Button_Click(object sender, EventArgs e) { string[] commands = new string[] { "ALTER TABLE `testrslt` ADD `DiverterStart` FLOAT NOT NULL DEFAULT '0.001' AFTER `ErrorMaster`, ADD `DiverterEnd` FLOAT NOT NULL DEFAULT '0.001' AFTER `DiverterStart`;", "ALTER TABLE `watermeter` ADD `ErrorFlags` INT NOT NULL DEFAULT '0' AFTER `QFall`;", }; if (Common(new MySqlConnection(Results.DB.ConnectionString), commands)) { upgradeDb_216_217_Button.Enabled = false; } } bool Common(MySqlConnection dbConn, string[] commands) { bool success = false; try { dbConn.Open(); foreach (var cmdText in commands) { MySqlCommand cmd = dbConn.CreateCommand(); cmd.CommandText = cmdText; cmd.ExecuteNonQuery(); } MessageBox.Show("DB succesfully upgraded", "Confirmation", MessageBoxButtons.OK, MessageBoxIcon.Information); success = true; } catch (Exception exc) { MessageBox.Show(string.Format("Exception {0}", exc.Message), "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } finally { dbConn.Close(); } return success; } } }