Array
(
)

Criar classe e Herda conexão com o banco.

Danielson Sousa
   - 01 mar 2010

  Olá galera sou iniciante em c# estou criando uma classe e tem updates e inserts e selects
o que acontece e não quero criar em toda a classe uma conexao com o banco de dados.

Então como eu poderia herda a conexao de uma classe.
Fiz desse forma mais deu erro...

A classe ClAcessoBd e meu acesso ao banco.
Então quero herda.

Já coloque a minha classe(ClAcessoBd) como publica.

E Esta dando erro.

FrmMenu.ClAcessoBd.con is inaccessible due to its protection level.

public class ClInclusaoCliente: ClAcessoBd
    {
        public enum Inclusao
        { 
            Insert,
            update
        }
     
        public void InclusaoUser(string NmUsuario, string NmGuerra, string NrSenha)
        {
            SqlCommand SqlCom = new SqlCommand("INSERT INTO USUARIO(NmUsuario,NmGuerra,NrSenha) VALUES (@NmUsuario,@NmGuerra,@NrSenha)",con);
            SqlCom.Parameters.Add("@NmUsuario",SqlDbType.NChar,15,"NmUsuario").Value = NmUsuario.ToString();
            SqlCom.Parameters.Add("@NmGuerra",SqlDbType.VarChar,10,"NmGuerra").Value = NmGuerra.ToString();
            SqlCom.Parameters.Add("@NrSenha", SqlDbType.Int, 4, "NrSenha").Value = NrSenha.ToString();
            con.Open();
            try
            {
                SqlCom.ExecuteNonQuery();
            }
            finally
            {
                con.Close();
             
            }
        }

Se puderem me ajuda eu agradeço.... valeu
Obg pela atenção

Netasper
   - 02 mar 2010

Danielson

Use as bibliotecas da Microsoft para isto, use a Aplication Block DAAB, do Enterprise Library 4.1. Ela ja faz tudo isto pra vc de graça...

[]s

0
|
0

Alexandre Machado
   - 02 mar 2010

Danielson, O acesso a dados não é tão simples assim. Se sua aplicação for grande, uma estrategia de acesso a dados ruim pode arruinar a aplicação. Bom, não vou me estender muito, porque o assunto enche um livro. Algumas dicas que posso te passar e que estão espalhadas pela internet são: - Abra a conexão com o banco o mais tarde possivel e feche o mais cedo. - Evite criar strings de conexão diferentes, isso cria pools de conexão diferentes(consumindo recursos). - se forma executar varias operações no banco (tipo um loop), abra a conexao, execute o loop e feche a conexao. Se ficar abrindo e fechando isso vai levar tempo e consumir recursos. - sempre fecha as conexoes, se voce deixa-las aberta, elas farão com que o pool leve mais tempo para reabrir uma outra. Existem varias regras, e como falei o assunto é extenso. Mas respondendo a sua duvida, voce pode criar um metodo para abrir a conexao, um para fechar e outro para execurar seus comando(existem varias formas). No metodo que voce for executar os comando voce chama o metodo de abrir, executa o comando e em seguida fecha a conexao. Se voce estiver usando a mesma string (isso quer dizer identica caracter por caracter. Qualquer espaço difetente e o .net cria um outro pool) o pool de conexão irá fazer o trabalho. Espero ter ajudado Alexandre

0
|
0