DataDirectory e SQL Compact Edition

Mauricio Junior

Dn468692.060DE5057573180CEC6D227C6D3E2207(pt-br,MSDN.10).png

Outubro 2013

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 SQLCE 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.

Dn468692.63CC3E4D18CB99BD792F0C91517783A8(pt-br,MSDN.10).png

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.

Dn468692.414058F76BFFFA059BF0C76265AA5E64(pt-br,MSDN.10).png

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 programa 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.

Dn468692.BDBD87C2DC7424E570E6B3DC83E16A4C(pt-br,MSDN.10).png

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.

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.

Mostrar: