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

2010-07-22 Thread 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 escreveu:

> 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 
> 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 
> 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 Thread 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 Thread 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 
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 <mar...@sulfabril.com.br>
>Para: delphi-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 Thread 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 Thread 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
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]





-- 
< 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 Thread 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
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]





-- 
< 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 Thread 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 Thread 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 
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 Thread 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  
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
> 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 Thread 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  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 
> 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 Thread 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 Thread 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 Thread 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) 
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 sqldDetail pra 
"c

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

2010-07-22 Thread 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 escreveu:

>
>
> 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 ,
> Eduardo Silva dos Santos  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
> > 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 Thread 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" 
To: 
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!