Chave primária Cliente Servidor !

Delphi

02/10/2003

Saudações pessoal,

Tenho 2 tabelas no qual o usuário irá ouvir uma escuta dai ele ira cadastrar na tabela sendo que as informações se cruzam na rede, pois o usuario ouvindo a escuta pode abrir a tabela e entrar em modo de inserção e outro o usuario ao mesmo tempo tambem ouvi uma escuta e abre a tabela e entra em modo de inserção dai haverá um duplicação de registro pois no codigo de inserçao esta codificado como autoincremento, e os dois abrindo ao mesmo tempo e nenhum salvando ira gerar um erro.

GOSTARIA QUE ALGUEM ME ORIENTASSE COMO DEVO PROCEDER, OU SE ALGUEM JA PASSOU POR ALGUM EXEMPLO ASSIM.
RESSALTO QUE ESSAS DUAS TABELAS SAO DE PESQUISA E USO BASE DE DADOS SQL SERVER 2000 COM DELPHI 6.

Grato pela ajuda !


Jonasaf

Jonasaf

Curtidas 0

Respostas

Rodrigo Coutinho

Rodrigo Coutinho

02/10/2003

Olá amigo já passei por isso muito tempo atrás e resolvi utilizando os comando do sql mesmo com insert into, e depois disso nunca mais utilizei dbedit so edit´s. Assim a aplicação mais robusta e rapida.

[]s, Rodrigo Coutinho


GOSTEI 0
Rik3500

Rik3500

02/10/2003

Voce coloca uma query com o cod. sql: Select MAX(Tabela.Codigo) from Tabela
E na tabela que voce trabalho, coloque no evento AfterInsert:
Query.Close;
Query.Open;
TabelaCodigo.Value := (QueryMAX.Value + 1);

No formulário principal quando voce abrir o formulario para trabalhar digite no evento de chamada do formulário principal ou em outro que voce irá fazer uma inserção:
Tabela.Open;
Query.Open;
Tabela.Insert;
Tabela.Post;
Database.StarTransation; ( se voce utilizar uma transação )
Tabela.Edit;

Quando for confirmar o cadastro:
Tabela.Post;
Database.Comit;

Qualquer duvida meu e-mail é: rhatsugai@hotmail.com


GOSTEI 0
Fabio.hc

Fabio.hc

02/10/2003

Saudações pessoal, Tenho 2 tabelas no qual o usuário irá ouvir uma escuta dai ele ira cadastrar na tabela sendo que as informações se cruzam na rede, pois o usuario ouvindo a escuta pode abrir a tabela e entrar em modo de inserção e outro o usuario ao mesmo tempo tambem ouvi uma escuta e abre a tabela e entra em modo de inserção dai haverá um duplicação de registro pois no codigo de inserçao esta codificado como autoincremento, e os dois abrindo ao mesmo tempo e nenhum salvando ira gerar um erro.


O campo só é incrementado após o comando Post e não após o Insert.


GOSTEI 0
Nando

Nando

02/10/2003

Seguinte, vc pode utilizar o q o rik3500 postou porém coloque aquilo no evento BEFOREPOST assim no momento que a pessoa precionar o botão para gravar o registro o seu sistema pega o último código e incrementa ele e já salva. Com isso estará sempre atualizado.

Qualquer dúvida mande um e-mail ou MP


GOSTEI 0
POSTAR