Re: [delphi-br] ADO+Access+Transação (Sufoco)
Olá Danilo, não estou usando arquivo UDL e defino a conexão na aplicação da seguinte forma: = // Conexoão com o banco SIGABD.MDB try DMDados.ADOConnection1.Connected:=false; DMDados.ADOConnection1.ConnectionString:= 'Provider=Microsoft.Jet.OLEDB.4.0;Password=;User ID=Admin;'+ ' Data Source='+CaminhoDoSIGABD+';Mode=Read|Write;Extended Properties=;'+ ' Locale Identifier=1033;Jet OLEDB:System database=;'+ ' Jet OLEDB:Registry Path=; Jet OLEDB:Database Password=;'+ ' Jet OLEDB:Engine Type=4;Jet OLEDB:Database Locking Mode=0;'+ ' Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;'+ ' Jet OLEDB:New Database Password=;Jet OLEDB:Create System Database=False;'+ ' Jet OLEDB:Encrypt Database=False;'+ ' Jet OLEDB:Don''t Copy Locale on Compact=False;'+ ' Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False'; DMDados.ADOConnection1.KeepConnection:=true; DMDados.ADOConnection1.Connected:=true; except showmessage('Erro na conexão com o banco SIGABD.MDB'); sysutils.abort; end; = Obrigado -Mensagem Original- From: Danilo Valente [EMAIL PROTECTED] Date: Wed, 07 Jun 2006 18:31:28 -0300 To: delphi-br@yahoogrupos.com.br Subject: Re: [delphi-br] ADO+Access+Transação (Sufoco) No arquivo UDL de conexão com o banco de dados Access que você está usando na ADOConnection, como está a configuração na aba Avançadas? Danilo Valente - Original Message - From: joao.santana To: delphi-br@yahoogrupos.com.br Sent: Wednesday, June 07, 2006 1:54 PM Subject: [delphi-br] ADO+Access+Transação (Sufoco) Estou desenvolvendo um aplicação multiusuário usando ADO + ACCESS + Delphi 7 com uso de transação e Componente TQuery. Acontece que esta dando erro pelo fato de um usuário esta bloqueando o outro e impedindo de gravar uma determinada tabela. E o seguinte: - Tenho a tabela A que relaciona com a tabela B - Tenho a tabela B que relaciona com a tabela C. Então faço os seguintes passos: - O usuário clica para gravar a tabela A; - Abro a transação; - Gravo a tabela A; - Vou para outra tela onde vou lançar varios registros nas tabelas B e C; - Se der tudo certo, faço Commit, senão faço Rollback; OBS: Do momento em que abro a transação ate dar Commit pode demorar ficando a transação ficar aberta por muito tempo, e se algum outro usuário tentar gravar alguma coisa da erro dizendo que está bloqueado por outro usuário. Como eu precisava ter a opção de desistir de gravar tudo, optei por usar transação. DÚVIDAS: Esta é a forma correta de se usar transação? O banco Access suporta transação? Preciso de uma alternativa que me permita desistir das inclusões e alterações feitas, tem outra solução? Desde já agradeço. João Jés [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM Links do Yahoo! Grupos -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: [delphi-br] ADO+Access+Transação (Sufoco)
Com este procedimento de setar a propriedade da ADOQuery eu não precisaria usar transação. É isto?? -Mensagem Original- From: Gabriel Filho [EMAIL PROTECTED] Date: Thu, 08 Jun 2006 08:04:16 -0300 To: delphi-br@yahoogrupos.com.br Subject: Re: [delphi-br] ADO+Access+Transação (Sufoco) Set a propriedade locktype para ltBatchOptimistic, nesse modo, tudo que é feito na ADOquery fica armazenado na memória, e só é gravado no banco se vc usar ADOQuery..UpdateBatch. Mas tem um porém, vc não consegue retornar o auto incremento qdo usa esse modo. espero ter ajudado. Em 07/06/06, Danilo Valente [EMAIL PROTECTED] escreveu: No arquivo UDL de conexão com o banco de dados Access que você está usando na ADOConnection, como está a configuração na aba Avançadas? Danilo Valente - Original Message - From: joao.santana To: delphi-br@yahoogrupos.com.br Sent: Wednesday, June 07, 2006 1:54 PM Subject: [delphi-br] ADO+Access+Transação (Sufoco) Estou desenvolvendo um aplicação multiusuário usando ADO + ACCESS + Delphi 7 com uso de transação e Componente TQuery. Acontece que esta dando erro pelo fato de um usuário esta bloqueando o outro e impedindo de gravar uma determinada tabela. E o seguinte: - Tenho a tabela A que relaciona com a tabela B - Tenho a tabela B que relaciona com a tabela C. Então faço os seguintes passos: - O usuário clica para gravar a tabela A; - Abro a transação; - Gravo a tabela A; - Vou para outra tela onde vou lançar varios registros nas tabelas B e C; - Se der tudo certo, faço Commit, senão faço Rollback; OBS: Do momento em que abro a transação ate dar Commit pode demorar ficando a transação ficar aberta por muito tempo, e se algum outro usuário tentar gravar alguma coisa da erro dizendo que está bloqueado por outro usuário. Como eu precisava ter a opção de desistir de gravar tudo, optei por usar transação. DÚVIDAS: Esta é a forma correta de se usar transação? O banco Access suporta transação? Preciso de uma alternativa que me permita desistir das inclusões e alterações feitas, tem outra solução? Desde já agradeço. João Jés [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM Links do Yahoo! Grupos -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
[delphi-br] ADO+Access+Transação (Sufoco)
Estou desenvolvendo um aplicação multiusuário usando ADO + ACCESS + Delphi 7 com uso de transação e Componente TQuery. Acontece que esta dando erro pelo fato de um usuário esta bloqueando o outro e impedindo de gravar uma determinada tabela. E o seguinte: - Tenho a tabela A que relaciona com a tabela B - Tenho a tabela B que relaciona com a tabela C. Então faço os seguintes passos: - O usuário clica para gravar a tabela A; - Abro a transação; - Gravo a tabela A; - Vou para outra tela onde vou lançar varios registros nas tabelas B e C; - Se der tudo certo, faço Commit, senão faço Rollback; OBS: Do momento em que abro a transação ate dar Commit pode demorar ficando a transação ficar aberta por muito tempo, e se algum outro usuário tentar gravar alguma coisa da erro dizendo que está bloqueado por outro usuário. Como eu precisava ter a opção de desistir de gravar tudo, optei por usar transação. DÚVIDAS: Esta é a forma correta de se usar transação? O banco Access suporta transação? Preciso de uma alternativa que me permita desistir das inclusões e alterações feitas, tem outra solução? Desde já agradeço. João Jés -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html