Como atualizar no clientdataset
ola consultores
como faço para atualizar um dado no clientdatase de tal modo que determinados dados nao sejam atualizados ?
[#VIDEO-168#]
[#VIDEO-168#]
Carlos Faria
Curtidas 0
Respostas
Wesley Yamazack
31/10/2009
Olá Carlos,
pelo que entendi você quer que os outros campos não sejam atualizados, se for isso, selecione os Fields(campos) que você quer deixar de fora, e coloque a opção readonly para true, ou seja eles não será habilitado.
E quanto ao combobox, você terá de abrir outro chamado, meu camarada.
Att
Wesley Y
pelo que entendi você quer que os outros campos não sejam atualizados, se for isso, selecione os Fields(campos) que você quer deixar de fora, e coloque a opção readonly para true, ou seja eles não será habilitado.
E quanto ao combobox, você terá de abrir outro chamado, meu camarada.
Att
Wesley Y
GOSTEI 0
Wesley Yamazack
31/10/2009
Olá Carlos, chegou a ver a dica que te passei neste post ?
Att,
Wesley Y
Att,
Wesley Y
GOSTEI 0
Carlos Faria
31/10/2009
Estive viajando vou fechar ate amanha o chamado ok
GOSTEI 0
Carlos Faria
31/10/2009
Ola Wesley fiz como vc disse , porem nao funciona
no meu clientdataset fiz o seguinte select
select * from cliente where Id_cliente =:pIdcliente
fiz uma funcao para consultar e inserir deu certo mesmo com a clausa where porem para atualizar se por exemplo o id_cliente for 100 e o usuario por algum engano colocar 99 la ela vai atualizar.
colocando para readonly como false eu nao consigo nem mesmo acessar consulta ou o formulario
fico aguardando uma solucao
GOSTEI 0
Wesley Yamazack
31/10/2009
Olá Carlos,
Os parametros que você coloca em uma query, tem que ser da seguinte forma
Ex :
IDCLiente = : IDCliente e não IDCLiente =:IDCliente, sacou ? tem que ter um espaço entre o "=" e ":" , não pode ser junto, faça esta alteração, e falamos logo em seguida.
Att,
Wesley Y
Os parametros que você coloca em uma query, tem que ser da seguinte forma
Ex :
IDCLiente = : IDCliente e não IDCLiente =:IDCliente, sacou ? tem que ter um espaço entre o "=" e ":" , não pode ser junto, faça esta alteração, e falamos logo em seguida.
Att,
Wesley Y
GOSTEI 0
Carlos Faria
31/10/2009
Ola Wesley da uma olhada nesse video tentei demostrar a real situação
[#VIDEO-172#]
[#VIDEO-172#]
GOSTEI 0
Wesley Yamazack
31/10/2009
Grande Carlos Regis, meu caro vou analisar teu chamado, e logo retornarei.
Forte abraço
Wesley Y
Forte abraço
Wesley Y
GOSTEI 0
Wesley Yamazack
31/10/2009
Olá Carlos, peço que aguarde um pouco mais, neste chamado.
Forte abraço
Wesley Y
Forte abraço
Wesley Y
GOSTEI 0
Wesley Yamazack
31/10/2009
Olá Carlos
Em reposta ao Update do Telefone
Selecione o DataSetProvider ao qual este clientdataset esta conectado e vá ate a propriedade UpdateMode = upWhereKeyOnly, assim não será atualizado sua chave, caso o telefone seja a chave da sua tabela.
Em relação ao parametro não tem o espaço entre : parametro, é junto :parametro
Exemplo
IDCliente = :IDCliente
Um abraço
Wesley Y
Em reposta ao Update do Telefone
Selecione o DataSetProvider ao qual este clientdataset esta conectado e vá ate a propriedade UpdateMode = upWhereKeyOnly, assim não será atualizado sua chave, caso o telefone seja a chave da sua tabela.
Em relação ao parametro não tem o espaço entre : parametro, é junto :parametro
Exemplo
IDCliente = :IDCliente
Um abraço
Wesley Y
GOSTEI 0
Devmedia
31/10/2009
Carlos,
por falta de retorno estamos encerrando o chamado. Caso tenha dúvidas, volte a postar aqui mesmo.
por falta de retorno estamos encerrando o chamado. Caso tenha dúvidas, volte a postar aqui mesmo.
GOSTEI 0
Carlos Faria
31/10/2009
Ola Wesley estive viajando , casado sabe , tive que sumir uns tempos ,mas vamos la , eu uso aqui um sqlconnection ,
sqldataset,
datasetprovider com a propriedade alowwcommandtext setada para true , se eu fizer o que vc me falou no exemplo abaixo vai funcionar ou vou precisar de um trio de componentes para kd ?
GOSTEI 0
Wesley Yamazack
31/10/2009
Olá Carlos, parabens pelo Casamento !! Espero que esteja td bem.
Você raramente vai fugir dos chamado quarteto fantastico, trabalhando com ClientDataSet, é a mesma forma que persistimos os outros dados, não tem diferença.
Um abraço
Wesley Y
Você raramente vai fugir dos chamado quarteto fantastico, trabalhando com ClientDataSet, é a mesma forma que persistimos os outros dados, não tem diferença.
Um abraço
Wesley Y
GOSTEI 0
Carlos Faria
31/10/2009
ola Wesley , tenho um campo nesse clientdataset que nao quero que ele seja atualizado , se eu setar a propriedade readonly para true ele fica inacessivel ! como eu faço para fazer uma busca exemplo pelo campo telefone porem ele agora nao é chave primaria mais ou seja preciso ter acesso ao dbedit para escrever o numero para pesquisar ,mais nao posso deixar ele atualizar
GOSTEI 0
Wesley Yamazack
31/10/2009
Olá Carlos, faça o seguinte, coloque um TEdit para pesquisa, e no clique do botão você faz a passagem para o clientdataset, usando um locate por exemplo, sendo assim o seu edit não irá interferi no conteudo do cds.
Um abraço
Wesley Y
Um abraço
Wesley Y
GOSTEI 0
Carlos Faria
31/10/2009
Ola Wesley
Eu já fiz assim desse jeito ,fica meio gambiarra pois na hora de inserir um novo cliente vai dar erro e nao vai inserir o dado que esta no edit
o formulario é do seguinte modelo :
Tenho uma tabela cliente
Idcliente int chave primaria
telefone int unique
nome varchar e por ai vai
eu faço a busca pelo telefone e nao pela chave , mas nesse mesmo formulario eu consulto, atualizo , e insiro um novo cliente caso haja necessidade !!
GOSTEI 0
Wesley Yamazack
31/10/2009
Olá carlos, não fica gambiarra não meu amigo, o que você tem que fazer é evitar digitar no DBEdit, pois isso é muito chato trabalhando com ClientDataSet, você usando um edit para fazer um locate, você acha os dados e os outros edits são preenchidos, neste edito, você ira informar o telefone que deseja procurar, muito mais pratico do que ficar controlando isso por clientdataset, faça o seguinte :
if cdspesquisa.locate('NumTelefone',EdtTelefone.text, []) then
showmessa('registro encontrado')
else
showmessage('nao encontrado').
Sacou minha ideia ? Evitar usar o DBEdit telefone, use um edit pois não terá vinculo nenhum com o clientdataset,
Um abraço
Wesley Y
if cdspesquisa.locate('NumTelefone',EdtTelefone.text, []) then
showmessa('registro encontrado')
else
showmessage('nao encontrado').
Sacou minha ideia ? Evitar usar o DBEdit telefone, use um edit pois não terá vinculo nenhum com o clientdataset,
Um abraço
Wesley Y
GOSTEI 0
Carlos Faria
31/10/2009
ola Wesley
Sem querer ser chato , ultima duvida ; eu posso precisar adicionar um novo cliente e se isso acontecer vou precisar informar o telefone , e ai como vou fazer isso usando edit ?
Sem querer ser chato , ultima duvida ; eu posso precisar adicionar um novo cliente e se isso acontecer vou precisar informar o telefone , e ai como vou fazer isso usando edit ?
GOSTEI 0
Wesley Yamazack
31/10/2009
Ola carlos, antes de enviar o cdscliente.Post; voce faz o seguinte :
cdscliente.Fieldbyname('telefone').asstring := edttelefone.text;
cdscliente.post;
E assim consegue gravar o mesmo.
Um abraço
Wesley Y
cdscliente.Fieldbyname('telefone').asstring := edttelefone.text;
cdscliente.post;
E assim consegue gravar o mesmo.
Um abraço
Wesley Y
GOSTEI 0
Wesley Yamazack
31/10/2009
Olá meu amigo, podemos matar este chamado então ?
Um abraço
Wesley Y
Um abraço
Wesley Y
GOSTEI 0