Fórum Delphi Mysql - Quais componentes devo usar? #193303

06/11/2003

0

Estou desenvolvendo uma aplicação em Delphi + Mysql.
Quais componentes devo usar para fazer a conexão com o banco de dados.


Danielle Ballester

Danielle Ballester

Responder

Posts

06/11/2003

Macario

voce pode usar ADO ou DBExpress

entra no site www.mysql.com

se nao esotu enganado tem os drivers necessarios que vc precisa pra poder usar esses componentes de pendendo da versao do MYSQL que vc tem


Responder

Gostei + 0

06/11/2003

Mitsalito

:D
Eu utiliso o Zeus .. este componente está na verção 5 é bem estavel e rápido ... se vc procurar o zeus no google achará logo


Responder

Gostei + 0

07/11/2003

Mition

Em um DataModule coloque os seguintes componentes:

da pasta DBExpress:
* SQLConnection1
* SQLDataSet1

da pasta DataAccess:
* DataSetProvider1 (aqui está o pulo do gato!)
* ClientDataSet1
* DataSource1

configurações das propriedades de
1. SQLConnection1
1.1 ConnectionName:=MySQLConnection
1.2 DriverName := MySQL
1.3 LoginPrompt:=false
1.4 Params:
Host Name: <endereço no servidor> ´Ex: 200.215.20.3´
Data BAse: <nome do seu BD>
User Name: <login de acesso>
Password: <senha de acesso>
1.5. Connected:=true;

configurações das propriedades de
2. SQLDataSet12.1 SQLConnection:=SQLConnection1 (ou o nome que vc escolheu)
2.2 CommandType -> 03 opções:
2.2.1. Se vc escolher ctQuery (padrão), deverá trabalhar com instruções SQL (insert, update, delete, select) - (recomendável)
2.2.2. ctTable, instruções normais de objetos Table
2.2.3. ctStoredProc, procedimentos de instruções em SQL para ´stored procedures´ (gatilhos - muito útil, qdo necessário)
2.3. CommandText:= select * from <nome tabela> <demais comandos> ou clique em ´...´ para abrir o editor SQL e monte sua instrução. Utilize inicialmente instruções de consulta - em outras ocasiões, poderá utilizar comandos de execução (+ prá frente).
2.4. Active:=true

configurações das propriedades de
3. DataSetProvider1
3.1 DataSet:=SQLDataSet1 (ou o nome que vc escolheu)

configurações das propriedades de
4. ClientDataSet1 (manterá os registros da tabela em memória (buffer) para a navegação bidirecional - vc não estará navegando na table e sim na consulta)
4.1 ProviderName:=DataSetProvider1 (ou o nome que vc escolheu)
4.2 Active:=true
OBS.:esse componente ClientDataSet substitui o componente Table! a vantagem é que vc está trabalhando com os registro/tables em sua máquina. O servidor será atualizando (e a rede acessada) somente após a confirmação dos dados inseridos, alterados ou excluídos. Não haverá um grande tráfego na rede.

configurações das propriedades de
5. DataSource1 (aí é muita moleza - se vira!(risos))

OBS: para cada tabela em seu data módulo, vc deverá ter um componente SQLDataSet,DataSetProvider, ClientDataSet e DataSource. (somente um SQLconnection compartilhado entre todos eles)
Se houver necessidade de vc acessar outro Banco de Dados, deverá colocar outro SQLConnection.

Coisas a se considerar:

1. As buscas são feitas através do método LOCATE dos ClientDataSets (esqueça seek, gotokey,gotonearest,...). Como as tabelas já tem seu índice ou campos indexados, ele fará a consulta por onde ele achar mais rápido (claro que depende se chave que vc está buscado é índice ou indexado)
2. Navegação é normal (first, prior, ...)
3. Não utilize o método Post (apesar de estar habilitado). Motivo: Post atualiza apenas o ClientDataSet (em buffer), e não atualizará o BD Servidor.
4. No lugar de Post, utilize o método applyUpdates(-1). Desse modo atualizará o ClientDataSet e o SQLDataSet (diretamente no BD Servidor).
Ex: DataModule1.ClientDataSet1.applyupdates(-1);
5. Daqui para frente, só utilize instruções em SQL (se preferir. Lógico!)
6. Se preferir utilizar os métodos Insert, Delete, Edit, etc, no ClientDataSet (como no Table), tudo bem, mas nunca utilize POST para confirmar e sim ApplyUpdates(-1)!
7. Se um SQLConnection estiver fechado, a partir do momento que vc abrir um SQLDataSet, a conexão será automaticamente aberta. Não acontece o mesmo se fizer o ClientDataSet.

UFA! Quanto tempo para digitar!

Boa Sorte

A propósito (NÃO TEM COMO DAR ERRADO POIS EU UTILIZO DIARIAMENTE!)

[]´S e boa sorte

Mição

P.S. Uma boa bibliografia->Delphi 6 com FireBird/Interbase - Bastiaan Pieter Marinus Wilderom/Marcelo Frank - Editora Érica. Esse livro explica detalhadamente o que passei para vc! Sem falar que o livro é um projeto de PDV (posto de venda - com impressora fiscal e uso de código de barras - MUITO ÚTIL E NECESSÁRIO)
Revistas Clube Delphi Edições -> 17,18,22,23 e 28.
_________________
Mição


Responder

Gostei + 0

07/11/2003

Bysnaga

ola.. bem como te disse no topico anterior que vc postou.. acho mais facil vc utilizar:

o componente query
o componente datasource
criar um alias (driver odbc)

e usar um database para que não apareça uma telinha de login toda hora...


pois utilizo isso em um projeto meu e funciona belezinha...

ou pode fazer oque o amigo mition postou... que funciona tbm, mas acho muito coisa.. mais sei lah ve oque é melhor para a sua aplicação...


Responder

Gostei + 0

10/11/2003

Mitsalito

[b:35c5b8889d]Utilização do Zeus[/b:35c5b8889d]

Em um DataModule coloque:

um TZZMySqlDataBase
Propriedades
DataBase : Nome do seu banco de dados
Host : IP, URL, Nome damáquina >> o caminho pro seu banco
Login : O nome do usuário para conexão
password : senha do usuário para conexão
conected : true para conectar é claro

um TZZMySqlTranzaction
Coloque na propriedade database o seu TZZMySqlDataBase

Depois coloque os componentes TZZMySqlTable ou TZZMySqlQuery
estes dois componentes funcionam igual aos componentes manjados
TQuery TTable
Na minha opinião é um tanto mais rápido para desenvolver com eles e mais eficiente também
´Boa sorte´[/b]


Responder

Gostei + 0

22/04/2004

Lgerhardt

Concordo com o Bysnaga, o Drive para conexão pode ser encontrado em www.mysql.com, chama-se MySQL Driver Connector. Além disso, um DataBase, um Query e um DataSource é tudo que vc precisa para acessar o MySQL, usar uma Table ou um DataSet para carregar toda a tabela, sobrecarrega o sistema....


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar