Ao tentar conectar no banco de dados externo, aparece a mensagem System.InvalidOperationException: 'Connection must be valid and open. A situação é que quando criei o software em casa, utilizei o wampserver/localhost e funcionava corretamente, porém, ao tentar conectar no trabalho, utilizando as configurações do servidor, da o erro mencionado acima. Tentei utilizar o server com o IP e também com o localhost.
/////////////////SEGUE ABAIXO AS LINHAS DE CÓDIGOS\\\\\\\\\\\\\\\\
//////////////////CLASSE CONNECTION\\\\\\\\\\\\\\\
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
using System.Data.SqlClient;
namespace Livro_de_Partes
{
class Connection
{
public static MySqlConnection conexao = null;
private String stringconnection = “server=10.12.240.45;User Id = root; password=************;database=db_livrodepartes”;
public void tentarAbrirConexaoLocal()
{
conexao = new MySqlConnection();
conexao.ConnectionString = stringconnection;
conexao.Open();
}
public Connection()
{
try
{
tentarAbrirConexaoLocal();
}
catch
{
Console.WriteLine("Não foi possível validar seu acesso.Tente novamente.");
}
}
public static MySqlConnection getConexao()
{
new Connection();
return conexao;
}
public static void fecharConexao()
{
conexao.Close();
}
}
}
////////////////////////CLASSE OPERACAOBANCO\\\\\\\\\\\\\\
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MySql.Data.MySqlClient;
namespace Livro_de_Partes
{
class OperacaoBanco
{
private MySqlCommand TemplateMethod(String query)
{
MySqlConnection Conexao = Connection.getConexao();
MySqlCommand Comando = new MySqlCommand(query, Conexao);
try
{
Comando.ExecuteNonQuery();
return Comando;
}
catch
{
return Comando;
}
}
public MySqlDataReader Select(String query)
{
MySqlDataReader dadosObtidos = TemplateMethod(query).ExecuteReader();
return dadosObtidos;
}
public Boolean Insert(String query)
{
MySqlConnection Conexao = Connection.getConexao();
MySqlCommand Comando = new MySqlCommand(query, Conexao);
try
{
Comando.ExecuteNonQuery();
return true;
}
catch
{
return false;
}
}
public Boolean Update(String query)
{
MySqlConnection Conexao = Connection.getConexao();
MySqlCommand Comando = new MySqlCommand(query, Conexao);
try
{
Comando.ExecuteNonQuery();
return true;
}
catch
{
return false;
}
}
public Boolean Delete(String query)
{
MySqlConnection Conexao = Connection.getConexao();
MySqlCommand Comando = new MySqlCommand(query, Conexao);
try
{
Comando.ExecuteNonQuery();
return true;
}
catch
{
return false;
}
}
}
}