🔥 Articles, eBooks, Jobs, Columnist, Forum, Podcasts, Courses 🎓



DataDirectory e SQL Compact Edition

Veja o que vai acontecer

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.

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


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

Subscribe ecode10.com

Receive our latest updates about programming languages, software, database, books, ebooks, classes, jobs and more.
You can cancel anytime.

Log In








Top