[Resolvido] Erro na Classe de Conexao
Prezados amigos;
Estou iniciando no mundo da programação e comecei com VB.NET, mais depois que conheci o C# fiquei maravilhado, nada contra o VB.
Contudo estou tentando passar os códigos do VB.NET para C# e estou esbarrando em alguns problemas começando pelas minhas Classes de conexão, estou usando duas classes e uma esta herdando da outra.
A primeira e a “ClsConexao.cs”, e a segunda e a ClsConexaoSQL.cs alguém pode analisar os códigos e me falar onde estou errando, ficarei agradecido. Segue os códigos.
ClsConexão.cs
using System;
using System.Data;
using System.Data.SqlClient;
using System.Collections.Generic;
using System.Text;
namespace SysCCli.Classes
{
class ClsConexao : ClsConexaoSQL
{
//Herdando da Classe ClsConexaoSQL
public SqlConnection conectar()
{
this.IniciaConexao();
return this._DBConAtiva;
}
}
}ClsConexaoSQL.cs
using System;
using System.Data;
using System.Data.SqlClient;
using System.Data.Common;
using System.Collections.Generic;
using System.Text;
namespace SysCCli.Classes
{
class ClsConexaoSQL
{
//Objeto que não pode ser Instanciado diretamente "Classe Selada" tem que ser herdada
private SqlConnection Conexao = new SqlConnection();
//Criando um metodo de Conexao
private string PDataSource;
private string PInitial;
private string Puserid;
private string PPassword;
private bool PIntegrado = true;
public SqlConnection _DBConAtiva
{
//__DBConAtiva e uma Propriedade
//Resgatando um valor da conexão
get { return Conexao; }
//Atribuindo um valor
set { Conexao = value; }
}
public string _DataSource
{
get { return PDataSource; }
// o Valor foi determinado no inicio com String
set { PDataSource = value; }
}
public string _Initial
{
get { return PInitial; }
// o Valor foi determinado no inicio com String
set { PInitial = value; }
}
public string _UserID
{
get { return Puserid; }
// o Valor foi determinado no inicio com String
set { Puserid = value; }
}
public string _Password
{
get { return PPassword; }
// o Valor foi determinado no inicio com String
set { PPassword = value; }
}
public bool _Integrado
{
get { return PIntegrado; }
// o Valor foi determinado no inicio com String
set { PIntegrado = value; }
}
public void IniciaConexao()
{
//Vai pegar da propriedade
SqlConnection Conexaolocal = new SqlConnection();
try
{
//Codigo que pode ocorrer o erro
//StrConexao = ""
Conexaolocal.ConnectionString = StrConecta;
//Conexaolocal recebe o valor de StrConecta
//Que Abre a Conexão
Conexaolocal.Open();
//Verificando se o status da conexao esta aberta
if (Conexaolocal.State == ConnectionState.Open)
{
this._DBConAtiva = Conexaolocal;
}
}
catch (SqlException SQLerro)
{
//Tratamento do erro
//Throw devolve o erro ao aplicativo chamador
throw new Exception(SQLerro.Message);
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
finally
{
//Tudo que estiver entre o Finally e o End try sera executado
//Garbage Collection(GC)Força a execução do coletor de lixo
GC.Collect();
}
}
public string StrConecta
{
get
{
//If PDataSource.Trim.Length > 0
if ((PDataSource != null))
{
//se a conexao existir
StringBuilder StrCom = new StringBuilder();
{
StrCom.Append("DATA SOURCE ="); //Estou agregando(Append)um valor da string
StrCom.Append(_DataSource);
StrCom.Append(";");
StrCom.Append("initial catalog =");
StrCom.Append(_Initial + ";");
StrCom.Append("User Id =");
StrCom.Append(_UserID);
StrCom.Append(";");
StrCom.Append("Password =");
StrCom.Append(_Password);
StrCom.Append(";");
}
StrConecta = StrCom.ToString;
}
else
{
//String de Conexao
StrConecta = "Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=dbsysccli;Data Source=CASA-02\\SQLDBCEI";
}
return StrConecta;
}
}
}
}Property or indexer 'SysCCli.Classes.ClsConexaoSQL.StrConecta' cannot be assigned to -- it is read only
Discussão (2)
Carregando comentários...