Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Geelherme

[Resolvido] Problema com DBEdit

Recommended Posts

Olá amigos

estou agora com um pequeno problema, ainda com banco de dados.

Eu consegui fazer o delphi conectar ao meu servidor mysql que está na internet, inclusive consigo configurar todos os componentes com informações já extraídas do banco, como nome da tabela, campo da tabele a outros. O meu problema está que quando compilo o projeto, no componente DBEdit, não consigo digitar nada... gostaria de saber se eu preciso fazer alguma coisa ou mudar alguma propriedade para isso...

upei o meu executavel para quem quiser dar uma olhada mais a fundo no programa...

 

alguém ja passou por algo parecido? conhece alguma solução?

estou usando os componentes ZConnection, TZTable, TDataSource, além dos Label, TDBEdit DBNavigator....

o link para o executavel é: http://www.divshare.com/download/8556531-6ea

obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Voce tem certeza que sua tabela está em modo de edição ou de inserção?

Coloque um navigator buttons pra testar isso..

 

 

Att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça assim

 

Coloque um DBNavigator da aba data controls e ligue ao mesmo datasource que o seu DBEdit...

Com esse navigator você consegue manipular a sua tabela, faça testes com ele

 

Tem um botão de inserir... pressione ele e tente alterar o valor do Edit...

veja o que da e me diga

 

att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

brother,

eu já havia inserido um DBNavigator, mas o mesmo encontra-se inativo quando eu compilo - fica cinza, com os botões desabilitados. Já verifiquei meu host mysql para aceitar conexões externas, e ele está funcionando. Inclusive, quando eu mudo a propriedade Connected do TZConnection para TRUE, ele alterna normal (no meu antigo host, toda vez que eu tentava por TRUE o delphi dava erro de permissão).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então faça o seguinte, coloque um botão qualquer e coloque

 

ZConnection.Connected := true;

ZTable.Open;

 

se a tabela abrir ele vai habilitar os botões, senão terá que dar um erro...

dai poste o erro aqui

 

desculpe se to sendo devagar... mas não tem como não conectar se as configurações estão corretas...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tudo bem cara, o tempo é essencial para que a produção dê certo...

 

fiz o seguinte aqui:

 

  ZConnection1.Connected := TRUE;
  TZTable.Open;

e deu o seguinte erro de compilação:

 

[Pascal Error] mysql.pas(40): E2076 This form of method call only allowed for class methods

[Pascal Fatal Error] Project2.dpr(5): F2063 Could not compile used unit 'mysql.pas'

 

Sabe como resolver?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, esse erro é facil

 

 

ZConnection1.Connected := TRUE;

TZTable.Open;

TZTable é o nome da classe, você tem que colocar o nome da sua tabela... Por exempli ZTable1.Open; // sem o T

 

tente e retorne...

Compartilhar este post


Link para o post
Compartilhar em outros sites

rsrsrs, tem razão...

no meu caso, era 'zeosdelphi' o nome que eu coloquei no lugar de ZTable1...

com o Open funcionou perfeitamente, o grid e o navigator que eu tava usando...

Muito obrigado pela sua ajuda, fazia dias que eu quebrava a cabeça com isso...

Aquele abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

só um detalhe: ao criar um novo campo no grid, quando ele vai salvar da primeira vez, dá a seuginte mensagem:

 

SQL Error: Lost connection to MySQL server during query

 

e da segunda passa normal... alguma idéia?

 

_____________________________

Eu havia comentado a linha que tinha ZConnection1.Connected := TRUE... retirei o comentário e funcionou normal.. ^^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Guilherme, é o seguinte... criar um novo campo é diferente de criar um novo registro...

Você quis dizer um novo registro certo?

 

Fica complicado saber o porquê está perdendo a conexão nesta primeira inserção... tente não usar o DBGrid para as inserções... ele altera o estado da tabela automaticamente...

use somente DBEdit e o dbnavigator para fazer as funções de banco... e o grid somente pra ver as informações entrando na tabela...

 

 

Att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Realmente eu quis dizer um registro, obrigado por corrigir...

 

Mas a questão é... Quando eu coloco aquelas duas linhas de código em um botão, ele funciona normal.

Eu tentei colocar pra ele abrir automaticamente quando o form iniciasse e ele começou a funcionar só na segunda tentativa para cada registro... Eu queria usar o grid, vou procurar um outro componente que faça isso então...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu tentei colocar pra ele abrir automaticamente quando o form iniciasse

você colocou o oncreate ou no onshow... se foi no oncreate, tente colocar essas linhas no onshow

ZConnection.Connected := true;

ZTable.Open;

 

Não era pra dar erro, continue usando o zeos, falam muito bem dele, é só pegar o jeito...

 

Abrass

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu tentei colocar pra ele abrir automaticamente quando o form iniciasse

você colocou o oncreate ou no onshow... se foi no oncreate, tente colocar essas linhas no onshow

ZConnection.Connected := true;

ZTable.Open;

 

Não era pra dar erro, continue usando o zeos, falam muito bem dele, é só pegar o jeito...

 

Abrass

 

Eu tava usando no onactivate...

coloquei no onshow e funcionou perfeitamente!

Muito Obrigado... =)

 

procedure TForm3.FormShow(Sender: TObject);
begin
  ZConnection1.Connected := TRUE;
  zeosdelphi.Open;
end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.