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.