Fórum ClientDataSet - Problemas na inserção #443536

21/05/2013

0

Bom dia galera...
Preciso mito da ajuda de vcs...
Meu problema é o seguinte:
Estou ciando uma aplicação conectada ao banco Mysql.
Tenho minha tela de cadastros e um DataModule com os componentes de conecção(SQLConnecion, SQLQuery, DataSetProvider, e o ClientDataSet).
Minha tela está toda montada.. e tenho um DBgrid para visualização dos registros na tela e os DBedits para a entrada dos dados.
O problema é que qndo eu vou Inserir os dados e clico nos DBEdits para digitar o sistema sai do modo de inserção e entra no modo de Edição :/
e não consigo encontrar o motivo

Ps: Qndo uso o DBgrid para inserir os dados tudo ocorre normalmente... somente quendo vou inserir pelo dbEdit que acontece isso .....

Heeeeelp me!!

Desde ja agradeço :)
Thiago Moises

Thiago Moises

Responder

Posts

21/05/2013

Frederico Brigatte***

Você tem que abrir o ClientDataSet com o método Open. Poste aqui o código que vc grava.
Responder

Gostei + 0

21/05/2013

Thiago Moises

Bom... estou usando alguns conceitos de herança....
Possuo um formulario Base.. Nle tenho um botão Novo.
Vou postar o codigo que esta nele:

DSState:= 'NEW'; //variavel que usei para saber qual operação está sendo realizada
atualizaBotoes; // função que criei para desabilitar botões...
DS.DataSet.Append; // DS é meu DataSource
Responder

Gostei + 0

21/05/2013

Frederico Brigatte***

Você está dando Open ou Edit?
Responder

Gostei + 0

21/05/2013

Thiago Moises

Acrescentei o Open acima do Append...e está dando o msmo problema...

o curioso é que qndo eu vou inserir direto no dbGrid da tudo certo...
só com os edits que da bug... :/

Responder

Gostei + 0

21/05/2013

Frederico Brigatte***

tem msn?
Responder

Gostei + 0

22/05/2013

Thiago Moises

tenho sim....
vou te passar meu email ok...
vou te mandar meu skype tbm blz....
ai a gente conversa...
Valew por me ajudar cara....

email: thiagomo2010@hotmail.com
skype: thiagomoises1

Valew
Responder

Gostei + 0

22/05/2013

Frederico Brigatte***

Qual é seu skype?
Responder

Gostei + 0

22/05/2013

Alisson Santos

Bom primeiro teria que abrir banco.
Tem que verificar qual é o status que está passando para ele.
O código que postou é de algum botão seu.
Responder

Gostei + 0

24/05/2013

Frederico Brigatte***

Thiago, onde ao certo está dando o erro?
Responder

Gostei + 0

24/05/2013

Thiago Moises

Bom dia cara...
então... qndo vai inserir um novo cadastro ele deixa os dbedits visieis e tals.. mas qndo clica em algum edit para escrever algo o banco vai para o mode de edição.... eu não to conseguindo criar um novo.., só editar algum que ja existe :/
Responder

Gostei + 0

26/05/2013

Frederico Brigatte***

Boa noite Thiago, esqueceu de mim?
Responder

Gostei + 0

28/05/2013

Guilherme Wiethaus

Bom Dia Thiago Moises,

Bom embora eu não utilize tal componente, pois eu escrevo e leio tudo manualmente para os campos evita para mim uma série de problemas. Dá um pouco mais de trabalho, mas deixa mais flexivel a programação.

Como já faz um tempo, não me recordo exatamente do nome das propriedades, mas vai ai uma luz. Talvez a noite eu possa ver isto pra você com mais detalhes, vai depender do tamanho de seu interesse.

O que posso ajudar é o seguinte, alguns pontos que você precisa rever.

1) Se você colocou uma carga de procedimento de evento no componente e não se deu conta meudbedit.OnExit:= MeuProcedimento_OnExit;
Dentro deste procedimento estás fazendo algo que passa do modo edição/inserção para state browse. Eu já vi este problema acontecer. Digo não um problema, um descuido.

2) Existe uma propriedade e esta que não me recordo se realmente existe ou seu nome, no próprio componente tem uma propriedade que diga se você sair do componente você cancela a operação de inclusão ou inserção.

3) Verifica se tem uma propriedade ReadOnly dos dados que se você tentar incluir, você não consegue pois passa automaticamente para state browse. Isto é uma especulação, não tenho certeza.


Abraços



Responder

Gostei + 0

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

Aceitar