Sei sulla pagina 1di 5

1.

20 inserir dois btBtn da paleta additional Propriedade 1: KIND: bkOk NAME: btnOk CAPTION: Ok

Propriedade 2: KIND: bkCancel NAME: btnCancelar CAPTION: Cancelar

1.21 clique duplo no boto localizar no formulrio frmLocCliente

A atualizao do ClienteDataSet muito simples, ou seja, ele recebe o valor do Edit e manda para a query, ela faz a comparao com o parmetro, e retorna o resultado. 1.22 clique duplo no boto localizar no formulrio frmCadCliente

1.23 configurando parmetro Criar uma procedure Localizado no frmLocCliente

Estamos alimentando o ClienteDataSet atravs do parmetro.

Selecione o GRID e no evento OndblClick com clique duplo.

Clique duplo no boto OK

Clique duplo no boto Cancelar

2 Evento OnReconcileError Selecione o evento OnReconcileError do cdsCadCliente

Na clusula Uses coloque a Unit Dialogs

Assim quando ocorrer algum erro no clientDataSet ser emitida uma mensagem de erro, ficando fcil tratar o erro.

3 Campo auto incremento. O firebird no possui auto incremento por isso utilizamos generator. Abra o IbExpert clique com o boto direito do mouse e escolha New Generator. Name: GEN_CLICODIGO Value: 1000 Depois d um commit utilizando o boto com um raio. preciso criar um tabela que contenha apena um registro: Tabela: cdigo Campo: id = 1 Volte Ao Delphi e insira um componente SqlQuery da paleta DbExpress no dmCliente. Propriedade: Name: sqyPedCod sqlConnection: dmPrincipa.sqlConSisComercial

SQL:

Cada vez que executamos um select, teremos um novo nmero em ordem crescente, a funo GEN_ID est incrementando o valor e retornando ao select. Agora precisamos de um evento para buscar o generator na query e grav-lo no banco de dado, o evento mais adequado BeforeUpdateRecord do Provider, ele chamado no momento que o registro est preste a ser enviado ao banco de dado. Precisamos definir um valor para chave primria, j que alimentamos o campo somente no evento. O que vamos fazer e preencher o campo chave com um valor negativo, j que no teremos clientes com cdigo negativo. 3.1 Declare na seo private do dmCliente:

No evento OnCreate do dmCliente inicie a varivel vNum:=0 3.2 Colocar nmero negativo na chave primaria: Selecione o evento OnNewRecord do clientDataSet.

A cada registro novo a varivel ser decrementada e enviada ao campo clicodigo. Neste caso no a problema se o usurio cancelar a incluso, pois neste momento apenas utilizaremos o sequenciador negativo. 3.3 selecione o componente dspCadCliente e o evento BeforeUpdateRecord

Selecione

dspCadCliente

na

propriedade

options

lique

opo

poPropagateChanges. Clique duplo no cdsCadCliente selecione clicodigo no evento OngetTex

3.4 controle de ocorrncia Clique duplo no cdsCadCliente selecione clicodigo propriedade ProviderFlags marque true para a opo pflnKey, e faa o mesmo para sdscadcliente. Selecione upwereKeyOnly dspCadCliente e altere a propriedade UpDataMode para

Potrebbero piacerti anche