Re: Res: [delphi-br] Criar DataBase em Execução

2010-07-22 Por tôpico Fabiano Moura
*Boa noite!*

  Só uma coisa, por questão de desempenho no PAGE_SIZE utilize o mesmo
tamanho de páginas de dados do sistema de partição ou o múltiplo dele. É
recomendável que o tamanho da página de dados seja no mínimo 4K ou seja 4096
bytes.



*Obrigado,*
**
*Fabiano Moura*

Em 19 de julho de 2010 21:20, Jose Ferreira joseffi...@yahoo.com.brescreveu:

 Colegas achei a solução atraves da dica do colega Jhosef .

 Segue o Código:

 IBDatabase1.Connected := false;
 IBDatabase1.DatabaseName := 'C:\MeuBanco.FDB';
 IBDatabase1.Params.Clear;
 IBDatabase1.Params.Add('USER SYSDBA');
 IBDatabase1.Params.Add('PASSWORD masterkey');
 IBDatabase1.Params.Add('PAGE_SIZE 1024');
 IBDatabase1.CreateDatabase;

 agradeço a todos.



 
 De: Jean Barreiros delphij...@yahoo.com.br
 Para: delphi-br@yahoogrupos.com.br
 Enviadas: Segunda-feira, 19 de Julho de 2010 14:02:35
 Assunto: Res: [delphi-br] Criar DataBase em Execução


 Eu também gostaria de algo sobre o assunto e melhor seria que usando
 TSQLConnection

 ===
 Jean Barreiros
 Programador/Web-Designer
 Delphi|C++|PHP|JavaScript
 FireBird|MySql|SQLServer
 PostGree|Oracle
 msn: delphij...@gmail.com
 e-mail: delphij...@yahoo.com.br
 ===

 
 De: Jhosef Marks jho...@gmail.com
 Para: delphi-br@yahoogrupos.com.br
 Enviadas: Segunda-feira, 19 de Julho de 2010 13:41:00
 Assunto: Re: [delphi-br] Criar DataBase em Execução

 O IBDataBase, tem uma procedure CreateBataBase , da uma olhada nela que
 deve
 te ajudar...
 Att,

 Jhosef Marks de Carvalho
 Blog: http://www.jhosefmarks.com.br
 Jesus está voltando

 E se o meu povo, que se chama pelo meu nome, se humilhar, e orar, e buscar
 a minha face e se converter dos seus maus caminhos, então eu ouvirei dos
 céus, e perdoarei os seus pecados, e sararei a sua terra. (2 Cr 7:14)

 Em 19 de julho de 2010 12:22, Pablo Farias 
 develo...@marketingrapido.com.br
  escreveu:

 
 
  Qual o banco de dados?
 
  Pablo Farias
  Market Sistemas
  Fone (81)3685.1562
  www.marketsistemas.com.br
 
  Em 19/07/2010 11:56, Ferreira escreveu:
  
   Colegas,
  
   Como eu posso criar uma Base de Dados FDB em tempo de execução.
  
   grato,
  
   josé ferreira
  
  
 
  [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 

 [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 






[As partes desta mensagem que não continham texto foram removidas]



[delphi-br] [AJUDA URGENTE] COMO CAPTURAR O POST_EVENT NO DBEXPRESS

2010-07-22 Por tôpico lvmariotti
Olá pessoal, no IBX eu pegava os eventos do banco através do IBEvents da paleta 
Interbase. 

Agora estou usando dbExpress para conexão através de aplicações n-tier e não 
sei como pegar os eventos gerados no FireBird com Post_Event. 

Agradeço a ajuda.



Res: [delphi-br] [CLIENTDATASET 3 TABELAS]

2010-07-22 Por tôpico Eny Urias
Vc vai ter dois Cds... Uma para a tabela de representante e outra para 
representante_cliente.. nessa de representante_cliente vc faz o join com a 
tabela de clientes... E na propriedade MasterSouce do cds representante_cliente 
vc coloca o DataSouce do representante e na propriedade MasterFields vc coloca 
o 
campo chave da tabela representante ufa! Deu para entender? Assim, quando 
vc 
cadastrar um novo representante e relacionar um cliente a ele, o sistema ja vai 
colocar a qual representante o cliente pertence...

 
--
Eny Trova Urias

Somos o que repetitivamente fazemos, portanto, a excelência não é um feito, 
mas 
um hábito- Aristóteles






De: Marcio mar...@sulfabril.com.br
Para: delphi-br@yahoogrupos.com.br
Enviadas: Quinta-feira, 22 de Julho de 2010 10:29:49
Assunto: Res: [delphi-br] [CLIENTDATASET 3 TABELAS]

  

existe outra maneira ??

é que p representante esta cadastrando o cliente dele .

entao ja devo fazer a ligacao .

att. MArcio

At 13:48 21/7/2010 -0700, you wrote:


Não entendi muito bem sua pergunta Vc quer cadastrar o cliente e já 
liga-lo
ao representante? É isso?

--
Eny Trova Urias

Somos o que repetitivamente fazemos, portanto, a excelência não é um 
feito, mas
um hábito- Aristóteles


De: Marcio mailto:marcio%40sulfabril.com.brmar...@sulfabril.com.br
Para: mailto:delphi-br%40yahoogrupos.com.brdelphi-br@yahoogrupos.com.br
Enviadas: Quarta-feira, 21 de Julho de 2010 16:59:11
Assunto: [delphi-br] [CLIENTDATASET 3 TABELAS]

Olá para os entendidos ...

como é que se faz para usar ClientDataset com 3 tabelas no caso .

ex: (Respresentantes 1-N Clientes )

TAB_Representante x TAB_rep_cli x TAB_Cliente

supondo que eu esteja cadastrando o cliente, como faco para fazer a ligacao
com o representante ??

[As partes desta mensagem que não continham texto foram removidas]



[As partes desta mensagem que não continham texto foram removidas]


 


  

[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] Ref. Timer Milissegundos

2010-07-22 Por tôpico Desenvolvimento Sisponto - Anderson
não use timer.
crie uma variável do tipo cardinal, e jogue nela o valor da função GetTickCount.

No fim, faça uma releitura do gettickcount e subtraia a ultima pela primeira. 
vc vai ter o tempo em milisegundos

assim:

var
   inicio : Cardinal;
   Fim : Cardinal;
begin
   inicio := gettickcount;
   (...)
   fim := gettickcount;

   label1.caption := inttostr(fim-inicio)+'ms'; 
end;


o gettickcount retorna o tempo em milisegundos em que o systema foi startado, 
até o limite de 49,7 dias...



  - Original Message - 
  From: Omar Marques 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Thursday, July 22, 2010 10:18 AM
  Subject: [delphi-br] Ref. Timer Milissegundos




  Salve amigos(as) Delphianos,

  Estou com uma questão por resolver. Estou precisando colocar um timer que 
  controlará o tempo decorrido do início de uma tarefa em milissegundos.

  Fiz isto usando um timer com interval = 1, mas está dando refresh direto no 
  componente e além disso, parece que ele corta os outros eventos, por exemplo,
  tento pressionar um Alt+F que fecha a tela abrindo um menu, mas não funfa 
quando 
  este timer está enabled.

  Qual seria a saída ? Thread ? Tem algum exemplo ai ? Alguém já passou por 
  situação semelhante ?

  Uso Delphi 5 Enterprise

  Abraço e obrigado a todos.

  Ats.

  Omar M. Haddad
  Analista de Sistemas

  [As partes desta mensagem que não continham texto foram removidas]



  

[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] Solução para MyConnection

2010-07-22 Por tôpico Jhosef Marks
Já tentou TRY EXCEPTION END?
Att,

Jhosef Marks de Carvalho
Blog: http://www.jhosefmarks.com.br
Jesus está voltando

E se o meu povo, que se chama pelo meu nome, se humilhar, e orar, e buscar
a minha face e se converter dos seus maus caminhos, então eu ouvirei dos
céus, e perdoarei os seus pecados, e sararei a sua terra. (2 Cr 7:14)



Em 22 de julho de 2010 10:24, Bruno Lepesqueur
brunolbra...@yahoo.com.brescreveu:



 Galera... estou com um probleminha!

 Eu inseri um myConnection (componente do myDAC) em meu formulário e criei
 na
 tela inicial do programa umas opções pra se mudar as configurações desse
 componente myConnection (qdo necessário), mas qdo se coloca uma opção que
 não existe no formulário, tipo um banco de dados que não existe, o sistema
 gera um erro que eu não gostaria que gerasse!

 Fiz assim:
 myConnection .Connected := false;
 myConnection .Database := edit5.Text;
 myConnection .Server := edit3.Text;

 Qdo o usuário digita no edti3.text um valor de Servidor que não existe, o
 sistema gera um erro.
 A solução que pensei foi a seguinte...
 Qdo o erro for gerado, ao invés de aparecer o erro, fazer um if para enviar
 uma msg tipo um showMessage informando ao usuário que aquele Server não
 existe, mas eu não sei fazer isso!

 Seria mais ou menos assim:

 if myconnection.server (192.168.0.1) não existir faça isso...

 Podem me dar uma dica inicial?

 Um abraço!

 [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 

* 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:
delphi-br-ow...@yahoogrupos.com.br
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:
delphi-br-unsubscr...@yahoogrupos.com.br

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html




Re: [delphi-br] Solução para MyConnection

2010-07-22 Por tôpico Eduardo Silva dos Santos
Usa um try except no código.


Att,
...
Eduardo Silva dos Santos
DRD SISTEMAS
(27) 3218-4201
(27) 9961-7095
MSN: eduardo@gmail.com
Site: http://www.drdsistemas.com.br/
...


Em 22 de julho de 2010 10:24, Bruno Lepesqueur
brunolbra...@yahoo.com.brescreveu:



 Galera... estou com um probleminha!

 Eu inseri um myConnection (componente do myDAC) em meu formulário e criei
 na
 tela inicial do programa umas opções pra se mudar as configurações desse
 componente myConnection (qdo necessário), mas qdo se coloca uma opção que
 não existe no formulário, tipo um banco de dados que não existe, o sistema
 gera um erro que eu não gostaria que gerasse!

 Fiz assim:
 myConnection .Connected := false;
 myConnection .Database := edit5.Text;
 myConnection .Server := edit3.Text;

 Qdo o usuário digita no edti3.text um valor de Servidor que não existe, o
 sistema gera um erro.
 A solução que pensei foi a seguinte...
 Qdo o erro for gerado, ao invés de aparecer o erro, fazer um if para enviar
 uma msg tipo um showMessage informando ao usuário que aquele Server não
 existe, mas eu não sei fazer isso!

 Seria mais ou menos assim:

 if myconnection.server (192.168.0.1) não existir faça isso...

 Podem me dar uma dica inicial?

 Um abraço!


 [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 

* 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:
delphi-br-ow...@yahoogrupos.com.br
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:
delphi-br-unsubscr...@yahoogrupos.com.br

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html




Re: [delphi-br] [CLIENTDATASET 3 TABELAS]

2010-07-22 Por tôpico Walter Chagas (Bol)
Marcio,

Este passo-a-passo meu já é bem conhecido aqui na lista. Ve se te atende:

1) TODAS AS TABELAS ENVOLVIDAS NESTE PROCESSO TEM QUE TER CHAVE PRIMÁRIA E 
ESTRANGEIRA, DO CONTRARIO ISTO DAÍ NÃO VAI FUNCIONAR 100% ESTÁVEL. 

2) Coloque um componente TADOConnection no seu DataModule e defina as 
configurações devidas nele. 

3) Coloque um compoente TQuery no Datamodule ou então um TSQLDataSet. Vamos 
Chamá-lo de qMaster, ou sqldMaster. 

4) Coloque na propriedade SQL do qMaster, ou então na propriedade 
CommandText do sqldMaster a sentença SQL que você deseja buscar como dados 
da Tabela Master. 

5) Dê um clique duplo na qMaster. Aparecerá o FieldsEditor. Manda adicionar 
todo mundo. 

6) Em cada TField, localize a propriedade providerflags. Os campos que são 
chave primária na Tabela, ficaraão com pfInkey true nos, os demais ficou 
false. Os pfInUpdate e pfInWhere todos ficam como true (em todos os campos). 

7) Sete a propriedade CursorLocation da qMaster ou do sqldMaster pra 
clUseServer 

8) Se a sentença SQL da qMaster tiver parametros, ajuste as configurações 
dele, na propriedade Parameters (A não configuração do parametro irá dar 
pau nos ClientDatasets posteriormente) 

9) Coloque um componente TDatasetProvider no Datamodule. vamos chamá-lo de 
dspMaster. 

10) Aponte o Dataset dele pra qMaster ou pro sqldMaster. 

11) Abra a propriedade Options do dspMaster. Todas as subpropriedades dele 
devem ficar como false, exceto as poCascadeDeletes, poCascadeUpdates, 
poAutoRefresh. Estas tres deverão ficar setadas como True. 

12) Mude a propriedade, no dspMaster, UpdateMode para upWhereKeyOnly 

13) Coloque no seu Datamodule um componente TClientDataset. Vamos chamalo de 
cdsMaster. 

14) Aponte o Provider dele pra dspMaster. 

15) Ative o cdsMaster, mudando a propreiedade Active dele para True. Dê um 
clique duplo na cdsMaster. Aparecerá o FieldsEditor. Manda adicionar todo 
mundo. 

16) Repita o passo 6. Mas agora, você pode formatar os campos. Na 
propriedade DisplayLabel, coloque um nome mais legível ao usuário. Na 
propriedade Displayformat, você pode formatar valores monetários e de data 
para serem exibidos. Na propriedade EditFormat voce pode formatar estes 
valores para serem editados no cadastro. A propriedade Visible do TField, 
permite você ocultar este campo nos DBwares. 

17) Coloque no seu DataModule, um componente TDataSource. Vamos chama-lo de 
dsMaster. 

18) Aponte o Dataset dele para o cdsMaster. 
Seu Módulo Master está pronto. 
Agora vamos linkar ele ao Modulo detail. 

1) Coloque no seu DataModule, um componente TDataSource. Vamos chama-lo de 
dsMasterDetail. 

2) Aponte o Dataset dele para o dsMaster. 

3)Coloque um compoente TQuery no Datamodule ou então um TSQLDataSet. Vamos 
Chamá-lo de qDetail, ou sqldDetail. 

4) Coloque na propriedade SQL do qMaster, ou então na propriedade 
CommandText do sqldMaster a sentença SQL que você deseja buscar como dados 
da Tabela Detail, com o detalhe de que o parametro de referência na tabela 
detail, deve ter OBRIGATÓRIAMENTE o nome exato do campo chave na tabela 
master. Veja o exemplo: 
Na tabela master queremos buscar todas as MM (movimentação de material) de 
um determinado amoxarifado: 
  
select IDMOV, CODTMV, SERIE, NUMEROMOV, DATAEMISSAO, DATAENTREGA, 
COMPETENCIA, CODFILIAL, CODPESSOA, CODLOCALIDADE, 
CODOSATIV, CODCONTRATO, CODLOC, CODFILIALDEST, CODLOCDEST, STATUS, 
OBSERVACAO, USRCRIACAO, DATACRIACAO, USRALTERACAO, 
DATAALTERACAO, DATAEXPORTACAO, NOMEARQEXPORT, CODCCUSTO, CODDEPTO, CODAREA 
from ZMMTMOV 
Na tabela detail, queremos buscar todos os itens da MM (movimentação de 
material) de um determinado registro master: 
select IDMOV, NSEQITMMOV, IDPRD, QUANTIDADE, CODUND, LOTE, ROLO, PATRIMONIO 
from ZMMTITMMOV where IDMOV = :IDMOV 
ATENTE PARA O PARÂMETRO IDMOV. ELE É O MESMO NOME DO CAMPO MASTER IDMOV. 

5) repita os passos 5 e 6 da geração da query master (referentes ao Tfieds). 

6) Sete a propriedade CursorLocation da qDetail ou do sqldDetail pra 
clUseClient 

8) Repita o passo 8 da geração da query master (referentes ao parametro). 

9) Aponte o Datasource de qDetail para o dsMasterDetail. 

11) Repita o passo 15 do cdsMaster, só que agora, ao você mandar adicionar 
os TFields, irá aparecer um novo campo. Este campo é um DATASETFIELD é o elo 
de comunicação entre o seu master e o detail e deverá ter o nome qDetail. 
  
12) No cdsDetail, aponte o seu Datasetfield para qDetail. 

15) Repita o passo 16 do cdsMaster para o cdsDetail. Mesma coisa. 
Está pronta a sua tão sonhada conexão MD. 
Você pode criar ainda Details que sejam detail deste ultimo Detail que 
criamos agora. Para fazer isto, basta fazer o seguinte: 

1) Coloque no seu DataModule, um componente TDataSource. Vamos chama-lo de 
dsDetailDetail. 

2) Aponte o Dataset dele para o dsDetail. 
O resto dos procedimentos, você pode seguir os passos da criação do CDS e do 
Datasource. A unica diferença é que pra este novo caso (Detail de um Detail 
mestre), não é 

Res: [delphi-br] [AJUDA URGENTE] COMO CAPTURAR O POST_EVENT NO DBEXPRESS

2010-07-22 Por tôpico Jean Barreiros
Veja os eventos do ClientDataSet/SQLQuery.
OnPost
BeforePost
AfterPost

espero que seja isso.
 ===
Jean Barreiros
  Programador/Web-Designer
  Delphi|C++|PHP|JavaScript
  FireBird|MySql|SQLServer
  PostGree|Oracle
  msn: delphij...@gmail.com
  e-mail: delphij...@yahoo.com.br
===





De: lvmariotti mario...@intelligentsystem.com.br
Para: delphi-br@yahoogrupos.com.br
Enviadas: Quarta-feira, 21 de Julho de 2010 19:12:42
Assunto: [delphi-br] [AJUDA URGENTE] COMO CAPTURAR O POST_EVENT NO DBEXPRESS

  
Olá pessoal, no IBX eu pegava os eventos do banco através do IBEvents da paleta 
Interbase. 


Agora estou usando dbExpress para conexão através de aplicações n-tier e não 
sei 
como pegar os eventos gerados no FireBird com Post_Event. 


Agradeço a ajuda.


 


  

[As partes desta mensagem que não continham texto foram removidas]



[delphi-br] Re: Solução para MyConnection

2010-07-22 Por tôpico brunolbrasil
Pessoal, não ta dando certo!
Eu to fazendo assim:

1  try
2myConnection.Connected := false;
3myConnection.Server := edit3.Text;  //o edit3.text está recebendo um 
valor que não existe

4myConnection.Database := edit5.Text;
5myConnection.Connected := true; //aqui o programa dá o erro

6ShowMessage('1');
  except
7showMessage('Existem dados errados! Favor corrigi-los.');
8close;
  end;


O título da caixa com o erro é o seguinte: Debugger Exception Notification

Se eu tirar a linha 5 ele execulta tudo sem problema, mas não faz os comandos 
do except.

Um abraço a todos!


--- Em delphi-br@yahoogrupos.com.br, Eduardo Silva dos Santos eduardo@... 
escreveu

 Usa um try except no código.
 
 
 Att,
 ...
 Eduardo Silva dos Santos
 DRD SISTEMAS
 (27) 3218-4201
 (27) 9961-7095
 MSN: eduardo@...
 Site: http://www.drdsistemas.com.br/
 ...
 
 
 Em 22 de julho de 2010 10:24, Bruno Lepesqueur
 brunolbra...@...escreveu:
 
 
 
  Galera... estou com um probleminha!
 
  Eu inseri um myConnection (componente do myDAC) em meu formulário e criei
  na
  tela inicial do programa umas opções pra se mudar as configurações desse
  componente myConnection (qdo necessário), mas qdo se coloca uma opção que
  não existe no formulário, tipo um banco de dados que não existe, o sistema
  gera um erro que eu não gostaria que gerasse!
 
  Fiz assim:
  myConnection .Connected := false;
  myConnection .Database := edit5.Text;
  myConnection .Server := edit3.Text;
 
  Qdo o usuário digita no edti3.text um valor de Servidor que não existe, o
  sistema gera um erro.
  A solução que pensei foi a seguinte...
  Qdo o erro for gerado, ao invés de aparecer o erro, fazer um if para enviar
  uma msg tipo um showMessage informando ao usuário que aquele Server não
  existe, mas eu não sei fazer isso!
 
  Seria mais ou menos assim:
 
  if myconnection.server (192.168.0.1) não existir faça isso...
 
  Podem me dar uma dica inicial?
 
  Um abraço!
 
 
  [As partes desta mensagem que não continham texto foram removidas]
 
   
 
 
 
 [As partes desta mensagem que não continham texto foram removidas]





Re: Res: [delphi-br] [AJUDA URGENTE] COMO CAPTURAR O POST_EVENT NO DBEXPRESS

2010-07-22 Por tôpico lvmariotti
Oi Jean.

Obrigadão, mas não é não. São eventos disparados pelo firebird quando 
utilizamos POST_EVENT numa trigger ou procedure.

Realmente só com IBX.

Grato

Sds.

Mariotti


--- Em delphi-br@yahoogrupos.com.br, Jean Barreiros delphij...@... escreveu

 Veja os eventos do ClientDataSet/SQLQuery.
 OnPost
 BeforePost
 AfterPost
 
 espero que seja isso.
  ===
 Jean Barreiros
   Programador/Web-Designer
   Delphi|C++|PHP|JavaScript
   FireBird|MySql|SQLServer
   PostGree|Oracle
   msn: delphij...@...
   e-mail: delphij...@...
 ===
 
 
 
 
 
 De: lvmariotti mario...@...
 Para: delphi-br@yahoogrupos.com.br
 Enviadas: Quarta-feira, 21 de Julho de 2010 19:12:42
 Assunto: [delphi-br] [AJUDA URGENTE] COMO CAPTURAR O POST_EVENT NO DBEXPRESS
 
   
 Olá pessoal, no IBX eu pegava os eventos do banco através do IBEvents da 
 paleta 
 Interbase. 
 
 
 Agora estou usando dbExpress para conexão através de aplicações n-tier e não 
 sei 
 como pegar os eventos gerados no FireBird com Post_Event. 
 
 
 Agradeço a ajuda.
 
 
  
 
 
   
 
 [As partes desta mensagem que não continham texto foram removidas]





[delphi-br] Utilizar um TSQLConnection único para toda a aplicação servidora?

2010-07-22 Por tôpico lvmariotti
Em alguns exemplos e vídeos vi que os evangelizadores utilizaram um 
TSQLConnection para cada ServerModule. É vantajoso fazer isso?

Ou é melhor utilizar um TSQLConnection único para toda a aplicação servidora?

Lanusse... 

Lichot... 

Help me.


Grato.




[delphi-br] Quantos TSQLConnection utilizar ??

2010-07-22 Por tôpico lvmariotti
Em alguns exemplos e vídeos vi que os evangelizadores utilizaram um
TSQLConnection para cada ServerModule no servidor. É vantajoso fazer isso?

Ou é melhor utilizar um TSQLConnection único para toda a aplicação servidora?

Help me.


Grato.



Res: [delphi-br] [CLIENTDATASET 3 TABELAS]

2010-07-22 Por tôpico Eny Urias
Só para deixar registrado:

Eu usei por muito tempo esse esquema do DATASETFIELD para utilizar em 
Master/Detail... Até que um dia, utilizando a ferramenta OraTracer para pegar 
um 
comando sql do Oracle eu pude perceber que ao utilizar essa técnica, quando o 
CDS carrega os registros do Master, ele tras também, para cada registro pai, 
todos os registros do filho... Fiquei abismada com o tráfego que isso causa na 
rede...  Quando o DBA da empresa viu disse para nunca mais utilizar dessa 
forma...

Agora eu abro o CDS filho utilizando o mesmo parametro mas no evento 
AfterScroll 
do CDS pai... 


Alguém já fez essa verificação com outros bancos?

--
Eny Trova Urias

Somos o que repetitivamente fazemos, portanto, a excelência não é um feito, 
mas 
um hábito- Aristóteles






De: Walter Chagas (Bol) wchag...@bol.com.br
Para: delphi-br@yahoogrupos.com.br
Enviadas: Quinta-feira, 22 de Julho de 2010 14:58:28
Assunto: Re: [delphi-br] [CLIENTDATASET 3 TABELAS]

  
Marcio,

Este passo-a-passo meu já é bem conhecido aqui na lista. Ve se te atende:

1) TODAS AS TABELAS ENVOLVIDAS NESTE PROCESSO TEM QUE TER CHAVE PRIMÁRIA E 
ESTRANGEIRA, DO CONTRARIO ISTO DAÍ NÃO VAI FUNCIONAR 100% ESTÁVEL. 

2) Coloque um componente TADOConnection no seu DataModule e defina as 
configurações devidas nele. 

3) Coloque um compoente TQuery no Datamodule ou então um TSQLDataSet. Vamos 
Chamá-lo de qMaster, ou sqldMaster. 

4) Coloque na propriedade SQL do qMaster, ou então na propriedade 
CommandText do sqldMaster a sentença SQL que você deseja buscar como dados 
da Tabela Master. 

5) Dê um clique duplo na qMaster. Aparecerá o FieldsEditor. Manda adicionar 
todo mundo. 

6) Em cada TField, localize a propriedade providerflags. Os campos que são 
chave primária na Tabela, ficaraão com pfInkey true nos, os demais ficou 
false. Os pfInUpdate e pfInWhere todos ficam como true (em todos os campos). 

7) Sete a propriedade CursorLocation da qMaster ou do sqldMaster pra 
clUseServer 

8) Se a sentença SQL da qMaster tiver parametros, ajuste as configurações 
dele, na propriedade Parameters (A não configuração do parametro irá dar 
pau nos ClientDatasets posteriormente) 

9) Coloque um componente TDatasetProvider no Datamodule. vamos chamá-lo de 
dspMaster. 

10) Aponte o Dataset dele pra qMaster ou pro sqldMaster. 

11) Abra a propriedade Options do dspMaster. Todas as subpropriedades dele 
devem ficar como false, exceto as poCascadeDeletes, poCascadeUpdates, 
poAutoRefresh. Estas tres deverão ficar setadas como True. 

12) Mude a propriedade, no dspMaster, UpdateMode para upWhereKeyOnly 

13) Coloque no seu Datamodule um componente TClientDataset. Vamos chamalo de 
cdsMaster. 

14) Aponte o Provider dele pra dspMaster. 

15) Ative o cdsMaster, mudando a propreiedade Active dele para True. Dê um 
clique duplo na cdsMaster. Aparecerá o FieldsEditor. Manda adicionar todo 
mundo. 

16) Repita o passo 6. Mas agora, você pode formatar os campos. Na 
propriedade DisplayLabel, coloque um nome mais legível ao usuário. Na 
propriedade Displayformat, você pode formatar valores monetários e de data 
para serem exibidos. Na propriedade EditFormat voce pode formatar estes 
valores para serem editados no cadastro. A propriedade Visible do TField, 
permite você ocultar este campo nos DBwares. 

17) Coloque no seu DataModule, um componente TDataSource. Vamos chama-lo de 
dsMaster. 

18) Aponte o Dataset dele para o cdsMaster. 
Seu Módulo Master está pronto. 
Agora vamos linkar ele ao Modulo detail. 

1) Coloque no seu DataModule, um componente TDataSource. Vamos chama-lo de 
dsMasterDetail. 

2) Aponte o Dataset dele para o dsMaster. 

3)Coloque um compoente TQuery no Datamodule ou então um TSQLDataSet. Vamos 
Chamá-lo de qDetail, ou sqldDetail. 

4) Coloque na propriedade SQL do qMaster, ou então na propriedade 
CommandText do sqldMaster a sentença SQL que você deseja buscar como dados 
da Tabela Detail, com o detalhe de que o parametro de referência na tabela 
detail, deve ter OBRIGATÓRIAMENTE o nome exato do campo chave na tabela 
master. Veja o exemplo: 
Na tabela master queremos buscar todas as MM (movimentação de material) de 
um determinado amoxarifado: 

select IDMOV, CODTMV, SERIE, NUMEROMOV, DATAEMISSAO, DATAENTREGA, 
COMPETENCIA, CODFILIAL, CODPESSOA, CODLOCALIDADE, 
CODOSATIV, CODCONTRATO, CODLOC, CODFILIALDEST, CODLOCDEST, STATUS, 
OBSERVACAO, USRCRIACAO, DATACRIACAO, USRALTERACAO, 
DATAALTERACAO, DATAEXPORTACAO, NOMEARQEXPORT, CODCCUSTO, CODDEPTO, CODAREA 
from ZMMTMOV 
Na tabela detail, queremos buscar todos os itens da MM (movimentação de 
material) de um determinado registro master: 
select IDMOV, NSEQITMMOV, IDPRD, QUANTIDADE, CODUND, LOTE, ROLO, PATRIMONIO 
from ZMMTITMMOV where IDMOV = :IDMOV 
ATENTE PARA O PARÂMETRO IDMOV. ELE É O MESMO NOME DO CAMPO MASTER IDMOV. 

5) repita os passos 5 e 6 da geração da query master (referentes ao Tfieds). 

6) Sete a propriedade CursorLocation da qDetail ou do 

Re: [delphi-br] Re: Solução para MyConnection

2010-07-22 Por tôpico Eduardo Silva dos Santos
Você tem que ignorar essa exception na IDE, faça um teste, compile aquele
código e execute fora do delphi para você ver uma coisa.


Att,
...
Eduardo Silva dos Santos
DRD SISTEMAS
(27) 3218-4201
(27) 9961-7095
MSN: eduardo@gmail.com
Site: http://www.drdsistemas.com.br/
...


Em 22 de julho de 2010 18:52, brunolbrasil brunolbra...@yahoo.com.brescreveu:



 Pessoal, não ta dando certo!
 Eu to fazendo assim:

 1 try
 2 myConnection.Connected := false;
 3 myConnection.Server := edit3.Text; //o edit3.text está recebendo um valor
 que não existe

 4 myConnection.Database := edit5.Text;
 5 myConnection.Connected := true; //aqui o programa dá o erro

 6 ShowMessage('1');
 except
 7 showMessage('Existem dados errados! Favor corrigi-los.');
 8 close;
 end;

 O título da caixa com o erro é o seguinte: Debugger Exception
 Notification

 Se eu tirar a linha 5 ele execulta tudo sem problema, mas não faz os
 comandos do except.

 Um abraço a todos!

 --- Em delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br,
 Eduardo Silva dos Santos eduardo@... escreveu

 
  Usa um try except no código.
 
 
  Att,
  ...
  Eduardo Silva dos Santos
  DRD SISTEMAS
  (27) 3218-4201
  (27) 9961-7095
  MSN: eduardo@...

  Site: http://www.drdsistemas.com.br/
  ...
 
 
  Em 22 de julho de 2010 10:24, Bruno Lepesqueur
  brunolbra...@...escreveu:

 
  
  
   Galera... estou com um probleminha!
  
   Eu inseri um myConnection (componente do myDAC) em meu formulário e
 criei
   na
   tela inicial do programa umas opções pra se mudar as configurações
 desse
   componente myConnection (qdo necessário), mas qdo se coloca uma opção
 que
   não existe no formulário, tipo um banco de dados que não existe, o
 sistema
   gera um erro que eu não gostaria que gerasse!
  
   Fiz assim:
   myConnection .Connected := false;
   myConnection .Database := edit5.Text;
   myConnection .Server := edit3.Text;
  
   Qdo o usuário digita no edti3.text um valor de Servidor que não existe,
 o
   sistema gera um erro.
   A solução que pensei foi a seguinte...
   Qdo o erro for gerado, ao invés de aparecer o erro, fazer um if para
 enviar
   uma msg tipo um showMessage informando ao usuário que aquele Server não
   existe, mas eu não sei fazer isso!
  
   Seria mais ou menos assim:
  
   if myconnection.server (192.168.0.1) não existir faça isso...
  
   Podem me dar uma dica inicial?
  
   Um abraço!
  
  
   [As partes desta mensagem que não continham texto foram removidas]
  
  
  
 
 
  [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 

* 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:
delphi-br-ow...@yahoogrupos.com.br
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:
delphi-br-unsubscr...@yahoogrupos.com.br

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html




Re: [delphi-br] Lazarus + zeoslib + Oracle9i.

2010-07-22 Por tôpico Walter Chagas (Bol)
Se não me engano esta lista é de Delphi e não de Lazarus nao

[]s


Walter Alves Chagas Junior
Belo Horizonte - MG - Brazil
wchag...@bol.com.br
http://delphitocorporerm.blogspot.com/
MSN: whitesock...@hotmail.com
SKYPE: WalterChagasJr


- Original Message - 
From: Alisson abru...@gmail.com
To: delphi-br@yahoogrupos.com.br
Sent: Thursday, July 22, 2010 9:45 PM
Subject: [delphi-br] Lazarus + zeoslib + Oracle9i.


Pessoal, estou fazendo updates com o ZQuery.ExecSql do Zeos Lib no Lazarus. 
Gostaria de saber se tem como obter o número de registros efetados pelo 
update através da Zquery.
Obrigado!