Test Database Connection is OK before con.Open()
Solution 1
testing for connectivity adds extra overhead. why not directly open connection and put the code inside Try-Catch
try
{
conn.Open();
}
catch(SqlCeException ex)
{
// output the error to see what's going on
MessageBox.Show(ex.Message);
}
Solution 2
You can use DbConnectionStringBuilder
with property ConnectionString
, it will throw exception if connection string is not correct format:
public static class Extension
{
public static void TestConnection(this DbConnection connection)
{
var builder = new DbConnectionStringBuilder
{
ConnectionString = connection.ConnectionString
};
}
}
With this way you don't need to really open connection to database.
IEnumerable
PHP Web developer with some experience in C#, WinForms and ASP.NET. Currently using PyroCMS and codeignighter Languages (PHP, Codeignighter, C#, ASP, CSS3, HTML5 and Javascript, Silverlight)
Updated on June 25, 2022Comments
-
IEnumerable almost 2 years
I have created a generic Database handler class for my app.
Im using a local database so
SqlCeConnection
class is being used here.What I would like to do is test that the Connection string is valid, so update the connection status to the user before I execute
connection.Open();
lets say
SqlCeConnection conn = new SqlCeConnection(connectionString); //so far we have only created the connection, but not tried to open it //Would be nice to update the UI to say that conn is OK conn.testConnection(); conn.Open();
I was thinking of writing a method that attempts to
open
thenclose
the connection, am I right in thinking this or is there a better way.