GARANTIR DESCONTO

Fórum Pegar valor do campo quot;Códigoquot; no clientedataset. #355238

12/03/2008

0

Bom dia pessoal,
Estou precisando pegar o valor do campo Código para fazer um mestre - detalhe.
Estou tentando fazer um mestre-detalhe (Pedido e Itens do Pedido)
mas o CodPedido da tabela Pedido é um autoincremento(estou utilizando o SqlServer2000) e preciso desse valor para relacionar a tabela ItensdoPedido..
mas não consigo obter esse valor... mesmo dando o ApplyUpdates(0)..

como obtenho esse valor??

obs: meu campo é autoincremento, só gera esse valor qdo dou o applyupdates..

obrigado


Eric.miranda

Eric.miranda

Responder

Posts

12/03/2008

Edilcimar

with ibquery1 do
begin
Close;
SQL.Clear;
SQL.Add(´Select gen_id(NOMECAMPO_CODIGO_GEN, 1) from RDB$DATABASE´);
Prepare;
Open;
Codigoquequero := ibquery1.fields[0].asinteger;
end;


Responder

Gostei + 0

12/03/2008

Eric.miranda

Obrigado Edilcimar.
tentei adaptar esse código ao SqlServer 2000 e componentes DbExpress e não funcionou..
vc tem outra sugestão?


Responder

Gostei + 0

12/03/2008

Eric.miranda

Pelo visto então não é mto aconselhável usar mestre detail, utilizando o campo chave da tabela mestre como autoincremento..
seria isso mesmo?? ou estou enganado?


Responder

Gostei + 0

12/03/2008

Hall 9000

Sugestão:
Desmarque no sqlserver o campo chave como auto incremento. Crie uma stored procedure que verifica o ultimo nº do campo chave e some + 1 (dá um SELECT MAX(CAMPO_CHAVE)+1 FROM SUA_TABELA)

Gere um código ´Falso´ para sua tabela qdo clicar no botão Inserir. Faça uma function que gere um número randomico (aleatorio) e atribua esse numero ao seu campo chave.
Aí no applyUdates do provider vc chama a storedprocedure e atribua ao ao campo o valor verdadeiro.

Acho que isso funciona.


Responder

Gostei + 0

13/03/2008

Paullsoftware

Olá amigo, procure aqui no forum sobre [b:42321e7de8]DataSetField[/b:42321e7de8] e tb sobre o evento [b:42321e7de8]BeforeUpdateRecord[/b:42321e7de8] do DataSetProvider que você vai encontrar a solução, eu suei bastante no inicio mas agora parece fácil... :wink:


Responder

Gostei + 0

13/03/2008

Eric.miranda

Olá paullsoftware,
por um acaso vc não tem um pequeno exemplo aí que vc possa me enviar né??
se tiver eu agradeceria mto... eric@politran.com.br

valew


Responder

Gostei + 0

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

Aceitar