Veremos como criar aplicações RAD com a ajuda dos assistentes de configuração
de Data Source realizando operações de arrastar e soltar usando o banco de dados
MySQL. Se você pensava que isso era possível somente com o SQL Server, se
enganou…
Para isso é preciso que você tenha
instalados os seguintes recursos
-
Visual Studio 2008 com service pack 1;
Vamos criar um novo projeto do tipo
Windows Forms Application usando o
Visual Studio
2008 SP1 com o nome MySQL_RAD;
No menu Data selecione a opção
Add New Data Source;
Na janela do assistente de
configuração do Data Source selecione a opção DataBase;
Na janela para escolher a conexão
clique no botão New Connection;
Na janela Add Connection clique
no botão Change;
Na janela Change Data Source,
selecione o item MySQL DataBase e clique em OK;

Agora informe o seguinte:
-
Server name:
o nome do seu servidor MySQL. Se estiver na máquina local, informe localhost; -
User name: informe o nome do usuário. Eu usei root, mas em produção não é
aconselhável usar este usuário; -
Password: a senha do usuário;

Feito isso você poderá selecionar o
banco de dados criado no MySQL. Eu estou usando o banco de dados northwind.
Sim, isso mesmo, eu fiz uma migração do banco de dados Northwind.mdb para o
MySQL para usar neste artigo.
Veja abaixo uma visão do banco de
dados northwind já importado para o MySQL:

Nota:
Para fazer a migração eu
usei uma ferramenta grátis chamada Access to MySQL que você pode pegar no
endereço :
http://www.bullzip.com/download.php
Feito isso teremos a janela abaixo,
onde podemos ver a string de conexão exibindo o usuário e a senha o que não é
muito recomendável.

Clique no botão Next>. Surgirá uma janela alertando para o fato de a senha estar aberta e solicitando sua
confirmação para armazenar estas informações na string de conexão. Para este
exemplo eu vou clicar Sim, mas em produção isso não deve ser feito,
OK.

Na próxima janela poderemos escolher
as tabelas com as quais vamos gerar o nosso Data Source. Neste exemplo eu vou
usar a tabela Products;

Com isso já podemos ver o
dataset criado na janela Solution Explorer.

Vamos agora criar um formulário de
manutenção de dados usando o datasource criado.
Para isso clique sobre o formulário form1.vb gerado no projeto e abra a
janela Data Source.
Podemos selecionar o modo de exibição
do campo conforme exibido na figura abaixo:

A seguir selecione a tabela
Products e vamos escolher um modo de exibição. Para este exemplo vou usar o
modo DataGridView;
Feito isso é só arrastar e soltar a
tabela no formulário;

Observe que serão criados os seguintes
componentes:
-
NorthwindDataSet
-
ProductsBindingSource
-
ProductsBindingNavigator
-
ProdutosTableAdapter
-
TableAdapterManager

Selecione a barra de tarefa do
DataGridView e marque a opção Dock in parent Container. A seguir
clique em Edit Columns para remover algumas colunas na exibição do
DataGridView:

Pronto vamos executar e realizar a
manutenção da tabela Products, incluindo, excluindo e alterando dados.

Podemos também incluir a tabela
Categories no DataSource e editar o DataGridView e retornar a
exibição do campo CategoryID; (Para fazer isso
selecione o DataSource e clique com o botão direito do mouse e selecione a opção : Configure Data Source with Wizard.)
Em seguida podemos definir as seguintes
propriedades para a coluna CategoryID:
-
ColumnType :
DataGridViewComboBoxColumn – com isso a exibição
dos dados nesta coluna será feita em um combobox; -
DataSource :
CategoriesBindingSource; -
DisplayMember –
CategoryName – O valor que será exibido no combobox
do campo, no caso o nome da categoria; -
ValueMember –
CategoryID – O valor que será usado quando o campo
for selecionado, no caso o código da categoria;

Executando o projeto novamente após as
alterações, teremos:

Obs: Existem alguns
problemas com tabelas relacionadas que eu pretendo abordar em outro artigo.
Tudo o que mostramos aqui já havia
sido feito para o SQL Server. A novidade fica por conta do mesmo recurso estar
disponível para o MySQL.
Pegue o projeto completo aqui: MySQL_RAD.zip
Eu sei, é apenas VB .NET e MySQL, mas eu gosto…








