Tutorial C# – Ligação a uma Base de Dados Access 2007 e 2003
Na semana passada tive a oportunidade de demonstrar como se efectua a ligação a uma base de dados MySQL através do C#. Esta semana e como prometido, demonstro como se efectua uma ligação a uma base de dados Access 2007 e 2003, já que existe uma pequena diferença na connection string. Como poderão verificar as diferenças são poucas, e como em tudo, esta é apenas uma das maneiras de escrever o código.
Primeiro criamos a base de dados no Access (2007). Neste caso criei três campos id, nome e numero.
Depois de criada a estrutura da base de dados, passamos ao código.
Tal como o MySQL, é necessário adicionar uma referência, mas no caso do Access é somente no código.
Agora vamos ao código
No botão “Ver Resultados” inserimos o seguinte código.
1ª Parte do código (Definição das connection strings 2003 e 2007)
2ª Parte do código
E o resultado será:
E desta forma temos uma ligação C# ao Access efectuada. Como podem verificar, as ligações às bases de dados são bastante simples.
No próximo tutorial vamos começar com as manipulações da base de dados através do C# (inserir registos).
Espero que tenham gostado.
Este artigo tem mais de um ano
Nem de propósito.
Estou a trabalhar em C# e a aceder a bases de dados.
Nem de propósito.
Estou a trabalhar em C# e a aceder a bases de dados.
Muito bom.
Continua assim
Bom dia
Acho que é necessário um pequeno á parte que a mim me fez perder algum tempo, para quem usa windows 64bits ao tentar correr a aplicação vai se deparar com um problema de acesso á base de dados por isso é necessário definir que a aplicação vai ser compilada para x86, foi a única solução que encontrei.
É de referir que o Provider Microsoft.ACE do Access 2007 também comunica com as Bases de Dados do Access 2003. Não sendo necessário que existam ligações diferentes.
Quanto à parte dos 64bits, infelizmente a Microsoft só tem até à data um sistema com 32bits, sendo que a tentativa de acesso devolve um erro informando que não existe o Provider no sistema.
Felizmente o Office 2010 já está previsto ser lançado nas duas plataformas (x64 e x86)
Boa Tarde,
Eu estou a tentar trabalhar com uma base de dados SQL SERVER 2008, e queria através de código C# aceder a uma Stored Procedure. Mas, quando estou a correr a minha aplicação(win forms), e tento fazer o update de um tuplo de um cliente na BD, este lança-me a seguinte excepção:
OleDb Connection Error:System.Data.OleDb.OleDbException: Syntax error or
access violation at
System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(Int32 hr) at
System.Data.OleDb.OleDbCommand.ExecuteCommandTextForMultpleResults(tagDBPARAMS
dbParams, Object& executeResult) at
System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult) at
System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior,
Object& executeResult) at
System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior
behavior, String method) at
System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior behavior) at
System.Data:OleDb.OleDbCommand.ExecuteNonQuery()…
Alguém me pode ajudar?
Ola.
1ª questão: porque razão estás a utilizar o OLEDB em vez do sqlserver client?
2ª questão: porque não utilizas um ORM para fazer essas operações na BD? Por exemplo LinqToSQL ou então a Entity framework, funcionam que é uma maravilha.
3ª questão sem código é difícil perceber o que causou o erro, mas pela descrição será qualquer coisa em termos de sintaxe.
Cumprimentos
Bom Tutorial.
Podias disponibilizar o projecto e a base de dados para download sff?
Obrigado!
Boas
Tá muito bom, simples e conciso.
Só peço uma coisa, se houver mais um tutorial para C# e ligações access/sql, que tentasses focar outras funções, por exemplo inserir, eliminar, editar.
Quando fiz o meu projecto foi o mais chato.
Cumps e continua o bom trabalho
Boa tarde a todos
Sou novo por aqui. Tenho alguns “progamazitos” feitos por mim
em C# e teria todo o gosto em partilhar com vocês.
Como o faço? Este site não tem registo para users?
Obrigado.
Boa noite,
Venho por este meio pedir a sua ajuda para um programa de que estou a desenvolver sobre C#. Eu estou a fazer um programa sobre “Software de uma Biblioteca”, só que ainda nao está terminado, falta uns pequenos pormenores. Seria possivel ajudar-me por favor?? O meu problema é arranjar os códigos para o botão “guardar”, “editar”… Se me pudesse ajudar, agradecia bastante e aqui deixo o meu mail:
vania.filipa@hotmail.com
Agradeço imenso pela ajuda…
boas
e o código para o Acess 2010 ?
como e que se faz o interface?
Entao quando e que sera publicado o post de como guardar os dados na base de dados