How to Check SQL Server Connection in C#
By FoxLearn 12/9/2024 1:46:16 PM 12.79K
This article explains how to define, retrieve, and dynamically modify connection strings in an application using an App.config file and custom helper classes.
How to check database connection status in C#?
Open Visual Studio, then click New Project, then select Visual C# on the left, then Windows and then select Windows Forms Application. Name your project "DynamicallyConnectionString" and then click OK
Design your form as shown below.
The App.config
file is used to store configuration settings, including database connection strings.
<?xml version="1.0" encoding="utf-8" ?> <configuration> <connectionStrings> <add name="cn" connectionString="Data Source=.;Initial Catalog=Northwind;User ID=sa;Password=123@qaz?;" providerName="System.Data.SqlClient"/> </connectionStrings> </configuration>
The AppSetting
class provides methods to read and save connection strings from the App.config
file dynamically.
using System; using System.Collections.Generic; using System.Configuration; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DynamicallyConnectionString { public class AppSetting { Configuration config; public AppSetting() { config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); } // Read connection string public string GetConnectionString(string key) { return config.ConnectionStrings.ConnectionStrings[key].ConnectionString; } // Save connection string public void SaveConnectionString(string key,string value) { config.ConnectionStrings.ConnectionStrings[key].ConnectionString = value; config.ConnectionStrings.ConnectionStrings[key].ProviderName = "System.Data.SqlClient"; config.Save(ConfigurationSaveMode.Modified); } } }
The SqlHelper
class is responsible for testing the database connection using the provided connection string.
using System; using System.Collections.Generic; using System.Data.SqlClient; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DynamicallyConnectionString { public class SqlHelper { SqlConnection cn; public SqlHelper(string connectionString) { cn = new SqlConnection(connectionString); } public bool IsConnection { get { if (cn.State == System.Data.ConnectionState.Closed) cn.Open(); return true; } } } }
The Windows Forms application allows users to input credentials, making it easy to test connections.
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace DynamicallyConnectionString { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void btnConnect_Click(object sender, EventArgs e) { string connectionString = string.Format("Data Source={0};Initial Catalog={1};User ID={2};Password={3};", cboServer.Text, txtDatabase.Text, txtUsername.Text, txtPassword.Text); try { SqlHelper helper = new SqlHelper(connectionString); if (helper.IsConnection) MessageBox.Show("Test connection succeeded.", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch(Exception ex) { MessageBox.Show(ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error); } } private void Form1_Load(object sender, EventArgs e) { //Add server name to combobox cboServer.Items.Add("."); cboServer.Items.Add("(local)"); cboServer.Items.Add(@".\SQLEXPRESS"); cboServer.Items.Add(string.Format(@"{0}\SQLEXPRESS", Environment.MachineName)); cboServer.SelectedIndex = 3; } } }
Run the application, then select a server from the combo box or type a custom one.
Next, Enter the database name, username, and password, then click the "Connect" button to test the connection.
If successful, the message "Test connection succeeded." is displayed. Otherwise, an error message shows the issue.
VIDEO TUTORIAL
- How to update UI from another thread in C#
- How to get CheckedListBox selected values in C#
- How to use Advanced Filter DataGridView in C#
- How to create a Notification Popup in C#
- How to Use Form Load and Button click Event in C#
- How to Link Chart /Graph with Database in C#
- How to Generate Serial Key in C#
- How to Search DataGridView by using TextBox in C#