Re: [delphi-br] Erro maluco de SQL
Tente assim ParamByName('p_sexo').Value = null Espero ter ajudado. Alisson Ricardo Viol Gazda Colégio Platão de Apucarana [EMAIL PROTECTED] - Original Message - From: Eduardo Silva ® To: delphi-br@yahoogrupos.com.br Sent: Wednesday, October 26, 2005 8:38 AM Subject: RES: [delphi-br] Erro maluco de SQL Já fiz isso e mesmo assim não deu cert. Eu credito que o problema seja na forma de comparar os parametros ParamByName('p_sexo').AsString := ''; Acho que a string vazia é onde esta o problema, mas nõ estou conseguindo resolver... -Mensagem original- De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] nome de Valdir Marcos Enviada em: terça-feira, 25 de outubro de 2005 13:41 Para: delphi-br@yahoogrupos.com.br Assunto: Re: [delphi-br] Erro maluco de SQL Crie :p_pessoa1 e :p_pessoa2 para diferenciar os parâmetros... Um abraço, Valdir marcos - Original Message - From: Eduardo Silva ® To: delphi-br@yahoogrupos.com.br Sent: Tuesday, October 25, 2005 1:14 PM Subject: RES: [delphi-br] Erro maluco de SQL Amigo, não é isso. Não sei o que acontece, mas as outras instruções sql, que são quase identicas a essa, executam normalmente e somente esta não esta executando. Já tirei uma clausula pra ver se era isso e mesmo assim continua o erro, ela me retorna zero, sendo que quando eu testo dentro do programa (tempo de projeto) com o botão direito do mouse em cima da query - expolore, a rotina funciona. O que pode ser ainda? To ficando louco.só isso não ta rodando.. -Mensagem original- De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] nome de Romario (Listas) Enviada em: terça-feira, 25 de outubro de 2005 11:24 Para: delphi-br@yahoogrupos.com.br Assunto: Re: [delphi-br] Erro maluco de SQL Acredito que o erro está na falta dos parênteses que não estão distingüindo as operações dos filtros. Tente da seguinte forma e veja se funciona: Close; Sql.Clear; Sql.Add('SELECT TP_PESSOA, NM_SEXO FROM SIAE0101'); Sql.Add(' WHERE ((TP_PESSOA = :p_pessoa )'); Sql.Add(' AND (NM_SEXO = :p_sexo ))'); Sql.Add('OR (TP_PESSOA = :p_pessoa )'); ParamByName('p_pessoa').AsString := 'F'; ParamByName('p_sexo' ).AsString := ''; ParamByName('p_pessoa').AsString := ''; Open; lblNaoInformado.Caption := IntToStr(qryAux.RecordCount); Sds, Romario Eduardo Silva ® escreveu: Galera, quando eu uso o código abaixo para testar a instrução SQL em tempo de projeto ela funciona beleza SELECT TP_PESSOA, NM_SEXO FROM SIAE0101 WHERE (TP_PESSOA = 'F' AND NM_SEXO = '') OR TP_PESSOA = '' Agora, se eu usar a instrução abaixo em tempo de execução, ela não me retorna nada, nem da erro, o que pode estar acontecendo? Close; Sql.Clear; Sql.Add('SELECT TP_PESSOA, NM_SEXO FROM SIAE0101'); Sql.Add(' WHERE TP_PESSOA = :p_pessoa'); Sql.Add(' AND NM_SEXO = :p_sexo'); Sql.Add('OR TP_PESSOA = :p_pessoa'); ParamByName('p_pessoa').AsString := 'F'; ParamByName('p_sexo').AsString:= ''; ParamByName('p_pessoa').AsString := ''; Open; lblNaoInformado.Caption := IntToStr(qryAux.RecordCount Eduardo de Almeida Silva ___ Promoção Yahoo! Acesso Grátis: a cada hora navegada você acumula cupons e concorre a mais de 500 prêmios! Participe! http://yahoo.fbiz.com.br/ -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM Yahoo! Grupos, um serviço oferecido por: -- Links do Yahoo! Grupos a.. Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ b.. Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!. __ NOD32 1.1264 (20051024) Information __ This message was checked by NOD32 antivirus system. http://www.nod32.com [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM Yahoo! Grupos, um serviço oferecido por: --
Re: [delphi-br] IBDataBase - IBX
Olá Bom a minha estrutura é a seguinte: Desenvolvo um sistema para Gerenciamento de Colégios, e tenho ele instalado em alguns colégios. Alguns colégios fazem parte de apenas um grupo e outros de outro grupo. Logo tenho diretores que possuem mais de um colégio, e que adoram ver relatórios na tela (como eles mesmo dizem, pra economizar papel), então eu tive que bolar uma forma de quando um diretor está em um colégio na hora que ele abrir o sistema ele identifique em qual colégio ele está. Para isso fiz uma telinha de seleção de colégios na inicialização. Quando ele seleciona o colégio ele busca o arquivo INI que tem a seguinte estrutura: Local.ini [COLÉGIOS] Nome do Colegio 1=\\10.1.1.9\d\sige\sige.ini Nome do Colegio 2=\\192.168.1.9\d\sige\sige.ini Esses colégios eu controlo via programação, eu cadastro ele dentro de uma array no sistema para que o sistema não funcione para qualquer colégio. Caso neste arquivo ini exista apenas 1 colégio não acontece nada, o usuário nem percebe que existe uma seleção de colégios. Com isso depois de selecionado o colégio fica simples de tudo. Eu crio uma variário do tipo TIniFile e atribuo a ela o arquivo INI encontrado no Local.ini. Aí com a varíavel atribuída eu faço uma leitura de arquivo ini normal: sBancoDados:=iArquivo.ReadString('Sige', 'Banco de Dados', ''); e depois: IBDSige.Connected:=False; IBDSige.DatabaseName:=sBancoDados; Try IBDSIge.Connected:=True Except begin Messagedlg('Houve uma falha na inicialização do banco de dados',mterror,[mbok],0); Application.Terminate; end; end; Com relação à mudança de estrutura da rede... Sim, vc teria que apagar os arquivos INI das máquinas e fazer com que o sistema gere-os novamente. Porém vc não vai ter problemas em adicionar configurações às máquinas. Eu utilizo o arquivo INI do servidor para armazenar mais configurações do sistema, como por exemplo, qual a logo que vai aparecer em todos os relatórios do sistema. Caso eu tivesse um arquivo em cada computador e eu adicionasse mais algum parâmetro no arquivo INI eu teria que fazer isso em todos os setores, porém eu simplesmente altero o arquivo do servidor e todas as estações lêem desse servidor. Com relação ao banco de dados no sistema, eu deixo um banco local do tipo: c:\sige\sige.gdb para que eu possa fazer os testes localmente sem trafegar pela rede. Espero que tenha ajudado Alisson Ricardo Viol Gazda Colégio Platão de Apucarana [EMAIL PROTECTED] - Original Message - From: Jenifer Arosa To: delphi-br@yahoogrupos.com.br Sent: Thursday, October 06, 2005 5:43 PM Subject: RES: [delphi-br] IBDataBase - IBX Salve Alisson. Agradeço a dica. Na verdade imaginei algo como carregar um arquivo texto com os parâmetros de conexão. Mas minha duvida e como seria esses parâmetros. Tipo; IBDataBase1 := '192.168.0.1:c:\Base.fdb IBDataBase1 := conected Login = false Etc etc. E como ficaria o componente no formulário? Preenchido com algum parâmetro ou não. Basicamente seria essa minha maior duvida. Me perdoe um questionamento sobre sua dica!!! Para poupar trabalho vc cria um ini genérico que procura o ini no servidor. Mas se houver mudança na estrutura da rede. Como esse genérico encontraria o servidor? Achei até legal, mas num cliente que utilize ip 169.254.0.0 e outro que utilize 192.168.0.0 esse genérico não teria que ser alterado estação por estação? Gente valeu qualquer ajuda. [[]] Ledo _ De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Alisson Viol Gazda Enviada em: quinta-feira, 6 de outubro de 2005 13:48 Para: delphi-br@yahoogrupos.com.br Assunto: Re: [delphi-br] IBDataBase - IBX Você pode por exemplo criar na máquina client um arquivo ini que diga onde está o servidor do banco de dados. Ou você pode fazer algo um pouco mais completo. Eu tenho um sistema onde eu tenho um arquivo INI dentro de cada máquina informando onde está o arquivo INI principal (no servidor). Pra quê fazer isso? Simples: Com o mesmo sistema eu posso instalar ele em qualquer lugar e quando precisar mudar a conexão do banco de dados eu apenas informo no servidor a localização do banco de dados (naquele arquivo Ini). Todos os clientes localizarão este arquivo e vão ler a sessão de onde está o banco de dados, e atribuirá ao Database name do IBConnection. Espero que eu tenha ajudado. Alisson Ricardo Viol Gazda Colégio Platão de Apucarana [EMAIL PROTECTED] [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: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Yahoo! Grupos, um serviço oferecido por: PlayStation 2 a partir
Re: [delphi-br] IBDataBase - IBX
Você pode por exemplo criar na máquina client um arquivo ini que diga onde está o servidor do banco de dados. Ou você pode fazer algo um pouco mais completo. Eu tenho um sistema onde eu tenho um arquivo INI dentro de cada máquina informando onde está o arquivo INI principal (no servidor). Pra quê fazer isso? Simples: Com o mesmo sistema eu posso instalar ele em qualquer lugar e quando precisar mudar a conexão do banco de dados eu apenas informo no servidor a localização do banco de dados (naquele arquivo Ini). Todos os clientes localizarão este arquivo e vão ler a sessão de onde está o banco de dados, e atribuirá ao Database name do IBConnection. Espero que eu tenha ajudado. Alisson Ricardo Viol Gazda Colégio Platão de Apucarana [EMAIL PROTECTED] - Original Message - From: Ledo To: delphi-br@yahoogrupos.com.br Sent: Thursday, October 06, 2005 11:57 AM Subject: [delphi-br] IBDataBase - IBX Salve Todos, Perdoe a santa ignorância. Preciso de ajuda para parametrizar a conexão do banco de dados no servidor. Uso o Delphi 7 IBX e FB1.5 Meu DM tem um IBdataBase e um IBTransaction. O problema é que onde quero testar a rede tem outros parâmetros de localização do Banco de Dados e não tenho idéia de como fazer para registrar essa conexão na maquina client. Procurei no help do Delphi mas não achei nada eu sei que preciso alterar a linha onde no momento tenho; 192.168.0.1:c:\DataBase\DBGeral.FDB Agradeço a ajuda dos colegas [[]] Ledo [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: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Yahoo! Grupos, um serviço oferecido por: PlayStation 2 a partir de R$ 659! Parcele! Celular Motorola com câmera a partir de R$ 449! Siemens SL65 com câmera a partir de R$ 730! Câmeras Digitais a partir de apenas R$ 399! Parcele! CD Players Pioneer a partir de R$ 369! MP3 Player iPod a partir de R$ 799! Parcele! -- Links do Yahoo! Grupos a.. Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ b.. Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!. [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: [EMAIL PROTECTED] ou [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