Fórum Pegar valor do campo quot;Códigoquot; no clientedataset. #355238
12/03/2008
0
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
Curtir tópico
+ 0Posts
12/03/2008
Edilcimar
begin
Close;
SQL.Clear;
SQL.Add(´Select gen_id(NOMECAMPO_CODIGO_GEN, 1) from RDB$DATABASE´);
Prepare;
Open;
Codigoquequero := ibquery1.fields[0].asinteger;
end;
Gostei + 0
12/03/2008
Eric.miranda
tentei adaptar esse código ao SqlServer 2000 e componentes DbExpress e não funcionou..
vc tem outra sugestão?
Gostei + 0
12/03/2008
Eric.miranda
seria isso mesmo?? ou estou enganado?
Gostei + 0
12/03/2008
Hall 9000
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.
Gostei + 0
13/03/2008
Paullsoftware
Gostei + 0
13/03/2008
Eric.miranda
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
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)