Para fazer a ligação a base de dados MySql vai ser necessário fazer o download do Conector Ado.net (http://dev.mysql.com/downloads/connector/net/5.2.html) ,no meu caso e como vou utilizar o visual Studio 2008 vou utilizar a ultima versão deste mesmo conector.
Findo a instalação do conector vamos criar uma aplicação Windows .
So para informação se tiver a utilizar o visual studio 2008 a ligação a base de dados MySql pode ser feita sem ter que escrever uma única linha de código , esta maneira vou deixar para o leitor descobrir sozinho :-).
Para começar crie uma DataGrid no formulário inicial e dei-lhe um nome no meu caso vou-lhe chamar myDataGrid, de seguida deve adicionar a referencia do MySQL.Data para isso seleccione o menu Project e add Reference e escolha o componente .Net com o nome MySQL.Data .
Agora vamos então ao código ,começamos por adicionar o namespaces
using MySql.Data.MySqlClient ;
private MySqlConnection myCon;
private MySqlDataAdapter myAdapter;
private DataSet myDataSet;
public Form1()
{
InitializeComponent();
MostraDados();
}
Para criar uma ligação a base de dados e preencher a datagrid criei a seguinte função:
private void MostraDados()
{
myDataSet = new DataSet();
//Cria a Ligação atravez de uma string de ligação
myCon = new MySqlConnection("Persist Security Info=False;database=test;server=localhost;user id=UtilizadorTeste;Password=teste");
try
{
// E estabelecido uma ligação com a base de dados
myCon.Open();
}
catch (System.Exception e)
{
// Ocoreu erro quande se tentou estabelecer a ligação com a base de dados.
MessageBox.Show(e.Message.ToString());
}
//Valida se a ligação está estabelecida
if (myCon.State == ConnectionState.Open)
{
//cria o adapter utilizando uma instrução SQL de forma a aceder a tabela Carros
myAdapter = new MySqlDataAdapter("SELECT * FROM carros", myCon);
//preenche o dataset atravez do adapter criado
myAdapter.Fill(myDataSet, "carros");
//A DataGrid terá como DataSource o dataSet prenchido anterior
myDataGrid.DataSource = myDataSet;
//Queremos mostrar a tabela dos carros
myDataGrid.DataMember = "carros";
}
finalizaLigacao();
}
A primeira coisa que fiz na função foi criar uma nova ligação a base de dados utilizando o conector MySqlConnection onde foi passada a string de conexão e que é constituída pelos seguintes valores que vou passar a explicar :
Persist Security Info=False | Significa que os dados sensiveis como a password não são devolvidos quando a conexão está ligado ou esteve ligada. |
database=test | O nome da Base de Dados que vamos utilizar ,no meu caso foi utilizada a base de dados Chamada test |
server=localhost | Nome do endereço de rede do motor de base de dados MySql no qual queremos fazer a ligação; |
user id=UtilizadorTeste | Nome da conta a utilizar para aceder a base de dados; |
Password=teste | Senha da conta que vai ser usada para aceder a base de dados; |
[1]Para mais detalhes sobre a constituição desta setring de ligação veja na documentação do conector.(http://dev.mysql.com/doc/refman/6.0/en/connector-net-examples-mysqlconnection.html)
Findo a criação da ligação vamo-nos ligar a base de dados utilizando para isso o método Open,caso de erro será mostrado o erro .
De seguida e no caso de já estarmos ligados a base de dados vamos utilizar o nosso dataAdater e aceder a tabela que queremos mostrar na nossa datagrid :
myAdapter = new MySqlDataAdapter("SELECT * FROM carros", myCon);
Neste momento só nos basta preencher o dataset com os dados myAdapter.Fill(myDataSet, "carros"); e para mostar no datagrid dizer que o sorce do datagrid é o nosso datasel e que queremos mostrar a tabela carros e vuolá já podemos ver os dados no nosso DataGrid.
Só para finalizar e não menos importante temos de fechar a ligação que estabelecemos para isso e chamado o método
finalizaLigacao(); .
private void finalizaLigacao() {
if (myCon.State == ConnectionState.Open)
myCon.Close();
}
Sem comentários:
Enviar um comentário