Caro(a) Leitor(a), hoje eu gostaria de falar rapidamente sobre o DataDirectory para conexão com o banco de dados local. O banco de dados local pode ser usado para web site, desktop ou serviços do Windows.

                Antigamente tínhamos o banco de dados Access com extensão “mdb” para guardar, salvar, editar e excluir informações. Agora temos o SQL Compact Edition, o famoso ntent-fragSQLCE com extensão “sdf”.

                Esse banco parece muito o SQL Express, porém pode ser usado localmente como o antigo Access. A ferramenta de desenvolvimento Visual Studio 2012 já possui ferramentas para criação dese banco e código.

Utilizado:

Ferramenta  Visual Studio 2012

Linguagem C#

Banco de dados local SQL Compact Edition

Importe: System.Data.SqlServerCe

                A string de conexão do banco de dados possui geralmente um parâmetro chamado DataDirectory entre “paipe” = |DataDirectory|. Listagem 1.

Listagem 1 – Conexão com o banco

connectionString="Data Source=|DataDirectory|\AppData\MyDatabase.sdf"

 

Criar o banco de dados

                Para criar um banco de dados local basta adicionar um novo item clicando com o botão direito em cima do projeto, escolha a opção Add, depois New Item. Imagem 1.

Imagem 1 – Criando novo item.

                Procure dentro do template o nome Local DataBase. Digite o nome que achar melhor e clique no botão Add.  Imagem 2.

Imagem 2 – Adicionando banco local

                Criando o banco, a string de conexão é criada dentro do arquivo de configuração do projeto. No caso deste projeto, a string é criada dentro do arquivo App.config. Listagem 2.

Listagem 2 – String de conexão criada.

    <connectionStrings>

        <add name="MyDatabaseConnectionString"

            connectionString="Data Source=|DataDirectory|\AppData\MyDatabase.sdf"

            providerName="Microsoft.SqlServerCe.Client.4.0" />

    </connectionStrings>

 

                Note que existe depois do Data Source o nome DataDirectory , o nome da pasta que escolheu e o nome do banco de dados.          

Utilizando DataDirectory

                Para utilizar este caminho |DataDirectory| basta precisa atribuir um parâmetro no início do seu projeto, ou seja, depois de abrir o programa com dois cliques.

                Alguns desenvolvedores tiram esse parâmetro |DataDirectory| da string de conexão, porque não sabem usar ou não sabem pra que serve. Vamos dizer que o seu programa pode ser instalado em qualquer lugar do computador e o seu progrlue;">>

 

                Note que existe depois do Data Source o nome DataDirectory , o nome da pasta que escolheu e o nome do banco de dados.          

Utilizando DataDirectory

                Para utilizar este caminho |DataDirectory| basta precisa atribuir um parâmetro no início do seu projeto, ou seja, depois de abrir o programa com dois cliques.

             &nbama precisa encontrar o banco de dados.

                Para resolver este problema, busquei o endereço corrente do programa e indiquei o endereço do DataDirectory. Listagem 3.

Listagem 3 – Adicionando o DataDirectory

public Form1()

{

            InitializeComponent();

            AppDomain.CurrentDomain.SetData("DataDirectory", Environment.CurrentDirectory);

}

                Coloquei o comando de Domain atribuindo o nome DataDirectory e o diretório corrente da aplicação. Com a linha de comando adicionado na listagem 3 o caminho da aplicação é pego.

                O próximo passo para conectar o banco de dados com a string escrito DataDirectory é simples, mostrado nos próximos passos.

                Criei um botão no form e cliquei duas vezes para gerar o código. Imagem 3.

Imagem 3 – Criação de form com um botão.

                Dentro do método, busquei a classe responsável pela conexão e driver com o banco de dados local, informei de onde pegar a string de conexão e chamei o Open. Listagem 4.

Listagem 4 – Conectando no banco de dados.

private void cmdConnection_Click(object sender, EventArgs e)

        {

            SqlCeConnection c = new SqlCeConnection(System.Configuration.ConfigurationManager.ConnectionStrings["MyDatabaseConnectionString"].ToString());

            c.Open();

        }

                Note que o nome da connectionString é MyDatabaseConnectionString localizada dentro do arquivo de configuração do projeto/aplicação. Para finalizar, a conexão com o banco funcionou sem qualquer problema.

                Lembro que, a melhor forma de utilizar conexão com o banco de dados é utilizar classes internas ou privadas e em projetos diferentes, ou seja, na camada de dados (DAL ou DAO).

                Espero que tenha gostado e qualquer dúvida pode entrar em contato pelo site www.mauriciojunior.org.