ClientDataSet - Problemas na inserção
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 :)
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
Curtidas 0
Respostas
Frederico Brigatte***
21/05/2013
Você tem que abrir o ClientDataSet com o método Open. Poste aqui o código que vc grava.
GOSTEI 0
Thiago Moises
21/05/2013
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:
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
GOSTEI 0
Frederico Brigatte***
21/05/2013
Você está dando Open ou Edit?
GOSTEI 0
Thiago Moises
21/05/2013
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... :/
o curioso é que qndo eu vou inserir direto no dbGrid da tudo certo...
só com os edits que da bug... :/
GOSTEI 0
Frederico Brigatte***
21/05/2013
tem msn?
GOSTEI 0
Thiago Moises
21/05/2013
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
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
GOSTEI 0
Frederico Brigatte***
21/05/2013
Qual é seu skype?
GOSTEI 0
Alisson Santos
21/05/2013
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.
Tem que verificar qual é o status que está passando para ele.
O código que postou é de algum botão seu.
GOSTEI 0
Frederico Brigatte***
21/05/2013
Thiago, onde ao certo está dando o erro?
GOSTEI 0
Thiago Moises
21/05/2013
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 :/
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 :/
GOSTEI 0
Frederico Brigatte***
21/05/2013
Boa noite Thiago, esqueceu de mim?
GOSTEI 0
Guilherme Wiethaus
21/05/2013
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
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
GOSTEI 0