Re: Res: [delphi-br] Criar DataBase em Execução
*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
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]
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
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
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
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]
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
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
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
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?
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 ??
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]
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
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.
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!