Ajua com SQLConnection/DBDrid

12/09/2004

Como faço para que um DBGrid veja os dados de uma tabela Mysql quando estou usando SQLConnection.
Delphi 7.


Carcleo

Respostas

12/09/2004

Programaker

Seguinte: após você configurar o SqlConnection com o driver do MySql -
criando uma nova conecção a partir da MySqlConnection e configurando a propriedade Connection name para esta nova conecção - você precisa de um componente SqlDataSet, cuja propriedade SqlConnection vai referenciar a SQLConnection que você acabou de configurar

No SqlDataSet, você vai pôr na propriedade CommandText a consulta Sql que vai trazer os dados.

Feito isso, coloque um DataSetProvider, um ClientDataSet e Um DataSource.

O DataSetProvider deve ter sua propriedade DataSet apontando para o SqlDataSet. O ClienteDataSet deve ter sua propriedade ProviderName configurada com o nome do provider. O DataSource deve ter sua propriedade DataSet referenciando o ClienteDataSet.

Aí, é só ligar o DBGrid ao DataSource e ser feliz!

Ah!, já ia esquecendo...você quer só fazer consulta nesse DBGrid ou vai usá-lo para editar?

Se for só consulta, é melhor substituir o SQLDataset por uma SQLQuery, que é mais apropriado pra isso (apesar do SQLDataset funcionar numa boa).

Se for editar, não faça consultas com junções que dá um rabo desgraçado...eu tentei e não funcionou...se for inserir ou editar dados, use o SqlDataSet com uma consulta que retorna só uma tabela, do tipo select * from tabela where...

Assim funciona legal na hora de dar Post e ApplyUpdates no ClientDataSet

Bom, espero que tenha ajudado em alguma coisa. Té mais!


Responder Citar

13/09/2004

Rômulo Barros

Se for editar, não faça consultas com junções que dá um rabo desgraçado...eu tentei e não funcionou...se for inserir ou editar dados, use o SqlDataSet com uma consulta que retorna só uma tabela, do tipo select * from tabela where...


:arrow: Não tem problema algum trazer dados de mais de uma tabela (Unions) e, em seguida, editar ou salvar os registros, uma vez q basta configurar corretamente a propriedade ´UpdateMode´ do DataSetProvider, assim como configurar a propriedade ´ProviderFlags´ de cada field do ClientDataSet e do SqlDataSet;

:P :P :P :P :P


Responder Citar

19/09/2004

Programaker

Tá, mas quais são as combinações entre UpdateMode e ProviderFlags que permite inserir e alterar dados em um ClientDataSet que contém dados vindos de uma junção de tabelas?

Eu tentei várias combinações e nenhuma delas deu certo. Se você puder detalhar mais a combinação que você usa pra alterar e incluir dados em junções vai me ajudar bastante!


Responder Citar

20/09/2004

Rômulo Barros

http://delphiforum.icft.com.br/forum/viewtopic.php?t=45288&highlight=providerflags

:arrow: Qualquer coisa, pesquise por ´ProviderFlags´ ;


Responder Citar