proberto 0 Denunciar post Postado Setembro 4, 2009 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 Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Setembro 4, 2009 Você criou somente o Get da propriedade StrConecta, se ela vai receber algum valor deve ter o set também. Se não ela fica somente como leitura. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
proberto 0 Denunciar post Postado Setembro 10, 2009 Value Quintelab, um abraço. Compartilhar este post Link para o post Compartilhar em outros sites