diff --git a/BealeEngineering/BealeEngineering.Accounts/frmMain.cs b/BealeEngineering/BealeEngineering.Accounts/frmMain.cs index 827417f..8079fb5 100644 --- a/BealeEngineering/BealeEngineering.Accounts/frmMain.cs +++ b/BealeEngineering/BealeEngineering.Accounts/frmMain.cs @@ -26,6 +26,15 @@ namespace BealeEngineering.Accounts { InitializeComponent(); sqlConnectionString = ConfigurationManager.ConnectionStrings["BealeEngSQLDb"].ToString(); + + // test for sql connection + string dbConnMessage = new Core.Data.Database.Connection(sqlConnectionString).IsServerConnected(); + if (dbConnMessage != null) + { + MessageBox.Show(dbConnMessage, "Database connection error", MessageBoxButtons.OK); + Environment.Exit(0); + } + assignInvoice = new Core.Logic.Sale.AssignInvoice(sqlConnectionString); UpdateInvoiceImportText(); } diff --git a/BealeEngineering/BealeEngineering.Core/Data/Database/Connection.cs b/BealeEngineering/BealeEngineering.Core/Data/Database/Connection.cs index 8e6cf0a..ef12aad 100644 --- a/BealeEngineering/BealeEngineering.Core/Data/Database/Connection.cs +++ b/BealeEngineering/BealeEngineering.Core/Data/Database/Connection.cs @@ -22,5 +22,21 @@ namespace BealeEngineering.Core.Data.Database this.sqlConnectionString = sqlConnectionString; } + + public string IsServerConnected() + { + using (SqlConnection conn = new SqlConnection(sqlConnectionString)) + { + try + { + conn.Open(); + return null; + } + catch (SqlException ex) + { + return ex.InnerException; + } + } + } } }