接続を開いていることに気付きましたが、使い終わったら閉じません。接続がまだ開いていない場合は開くのではなく、必要なときに接続を開くというアプローチを好みます。古くなっている可能性があります。
接続文字列をキャッシュします ただし、接続自体ではありません。
public static string ConnectionString {get;set;}
public static bool InsertRecord(sql)
{
bool success = false;
using (var con = new Connection(ConnectionString)){
var command = new SqlCommand(sql,con);
success = (command.ExecuteNonQuery() > 0);
}
return success;
}
リソースが不要になったら、リソースを解放する必要があります。