Muy buenas noches !!!
No se si te servirá el código de ejemplo que voy a colocar (porque uso como BD,
FirebirdSQL)...
Normalmente creo una clase externa, en donde diseño un método del que valgo, para abrir la conexión con la Base de Datos...
public FbConnection conn
= new FbConnection
(); public static string rutaBD = @"\BDScadig20.fdb";
public string cadenaDeConexion = "ServerType=0;User=SYSDBA;Password=masterkey;Packet Size=16384;" +
"Dialect=3;Pooling=false;Database=Application.StartupPath + rutaBD;
public void ConectarseConBD()
{
try
{
conn.ConnectionString = cadenaDeConexion;
if (conn.State == ConnectionState.Closed)
{
conn.Open();
/*MessageBox.Show("Se ha establecido la conexión " +
"exitosamente con la Base de Datos !!!",
"Satisfactorio...", MessageBoxButtons.OK,
MessageBoxIcon.Information);*/
}
}
catch (FbException errFb)
{
MessageBox.Show("Error al conectar de la base de datos. " +
"Descripcion del error: " + errFb.Message,
"Error", MessageBoxButtons.OK,
MessageBoxIcon.Error);
}
catch (Exception ex)
{
MessageBox.Show("Error. Descripcion del error: " +
ex.Message, "Error", MessageBoxButtons.OK,
MessageBoxIcon.Error);
}
}
Yo, en la sentencia
if, pregunto si el objeto
conn (conn.State) está cerrado (conexión cerrada) y si es así, lo establezco: conn.Open() (abro la conexión...). luego procedo con lo demás...
Fíjate, uso el objeto
conn...
En tu caso, deberías usar ----------->
Cnn, que es tu objeto
SqlConnection...
En el
if que colocaste, tu error es usar el "Tipo" en vez el Objeto...
No se si me expliqué bien (espero que si), pero espero te pueda servir de algo !!!
Saludos !!!
Manuel F. Borrego Sterling
Barcelona, Edo. Anzoátegui. Venezuela.
[Mientras nos permitan seguir comunicándonos]...