
fajo
Membros-
Total de itens
73 -
Registro em
-
Última visita
Tudo que fajo postou
-
Oi pessoal, estou começando a dar os primeiros passos em Html e CSS e apareceu uma dúvida: Estou fazendo um rodapé, onde tenho um background(h:3px,w:30px) com repeat-x, até ai tudo bem, o problema é q todo texto digitado fica bem colado a esquerda na div, se coloco um padding é dado um espaçamento no texto, só que background estica na direita ultrapassando o limite da largura, o q posso fazer? Obrigado. Consegui.
-
Olá, venho aqui expor algumas dúvidas q há muito tempo tenho e não consegui ainda uma resposta definitiva: 1. Existe alguma incompatibilidade entre o Delphi (7, 2007, 2009, 2010) com o Windows 64 bits(XP, Vista, 7)? 2. As aplicações geradas no Delphi em ambiente 64 bits funcionarão normalmente (100%) nos meus clientes com Windows 32 bits? 3. Utilizo o Firebird nas minhas aplicações, se migrar para 64 bits, terei q trabalhar com Firebird 64 bits, terei alguma problema quando levar o banco para o cliente 32 bits? Atualmente estou com o Windows 7(32 bits) e Delphi 2010; Não sei se é o forum certo para essas perguntas, desculpem se não for. Obrigado
-
Oi Jhonas, desculpe a demora, é q tive q viajar a trabalho e só agora to com um tempinho. bom com relação a: olhei e só está diferente as seguintes linhas: dm.cdsPropostas.DisableControls; dm.cdsPropostas.Close; dm.cdsPropostas.Open; dm.cdsPropostas.EnableControls; mas já foram colocadas em época de desespero, pode ignorá-las. O erro continua. abraço
-
Oi Jhonas, desculpe se me expressei mal, mas, quando disse "minha máquina", me referi ao meu pc, q uso para programar; com relação ao código diferente, se você estiver se referindo a essa linha: // dm.cdsPropostasID_PROPOSTA.AsInteger := dm.GeraId('SELECT MAX(ID_PROPOSTA) FROM PROPOSTAS'); foi comentada, pois, devido ao erro, resolvi implementar a geração de codigo diretamente no banco par ver se resolvia, no entanto, de nada adiantou. abraço
-
Oi Jhonas, beleza, o sistema só está em uma máquina, por enquanto, e o erro dá quando estou inserindo um registro; inseri dados do cliente, grava; inseri dados do veiculo, grava; inseri dados da proposta do veiculo, grava..., as vezes dá tudo certo, as vezes, Access Violation. é isso. Valeu
-
Olá a todos, uso o D2007 com Firebird 2.1.2 e estou com um grande problema com uma mensagem de Access Violation q teima em aparecer; e o pior, só aparece na máquina do cliente, na minha máquina não; São 4 tabelas, a T1 é mestre, a T2 e T3 são detalhes da T1, e a T4 é detalhe da T2, estou usando um só botão pra gravar com esse código: if dm.cdsDPessoais.State in [dsinsert,dsedit] then try DBXTrans := dm.ConConcess.BeginTransaction(TDBXIsolations.ReadCommitted); if dm.cdsDPessoais.State = dsinsert then begin dm.cdsDPessoaisID_D_PESSOAIS.AsInteger := dm.GeraId('SELECT MAX(ID_D_PESSOAIS) FROM D_PESSOAIS'); dm.cdsDPessoais.ApplyUpdates(0); end else dm.cdsDPessoais.ApplyUpdates(0); dm.ConConcess.CommitFreeAndNil(DBXTrans); except on e:Exception do begin dm.ConConcess.RollbackFreeAndNil(DBXTrans); raise; end; end; if dm.cdsVeicProposta.State in [dsinsert,dsedit] then try DBXTrans := dm.ConConcess.BeginTransaction(TDBXIsolations.ReadCommitted); if dm.cdsVeicProposta.State = dsinsert then begin dm.cdsVeicPropostaID_VEICULOS_PROPOSTA.AsInteger := dm.GeraId('SELECT MAX(ID_VEICULOS_PROPOSTA) FROM VEICULOS_PROPOSTA'); dm.cdsVeicPropostaID_D_PESSOAIS.AsInteger := dm.cdsDPessoaisID_D_PESSOAIS.AsInteger; dm.cdsVeicProposta.ApplyUpdates(0); end else dm.cdsVeicProposta.ApplyUpdates(0); dm.ConConcess.CommitFreeAndNil(DBXTrans); except on e:Exception do begin dm.ConConcess.RollbackFreeAndNil(DBXTrans); raise; end; end; if dm.cdsVeicTroca.State in [dsinsert,dsedit] then try DBXTrans := dm.ConConcess.BeginTransaction(TDBXIsolations.ReadCommitted); if dm.cdsVeicTroca.State = dsinsert then begin dm.cdsVeicTrocaID_VEICULO.AsInteger := dm.GeraId('SELECT MAX(ID_VEICULO) FROM VEICULOS_TROCA'); dm.cdsVeicTrocaID_D_PESSOAIS.AsInteger := dm.cdsDPessoaisID_D_PESSOAIS.AsInteger; dm.cdsVeicTroca.ApplyUpdates(0); end else dm.cdsVeicTroca.ApplyUpdates(0); dm.ConConcess.CommitFreeAndNil(DBXTrans); except on e:Exception do begin dm.ConConcess.RollbackFreeAndNil(DBXTrans); raise; end; end; if dm.cdsPropostas.State in [dsinsert,dsedit] then try dm.cdsPropostas.DisableControls; DBXTrans := dm.ConConcess.BeginTransaction(TDBXIsolations.ReadCommitted); if dm.cdsPropostas.State = dsinsert then begin // dm.cdsPropostasID_PROPOSTA.AsInteger := dm.GeraId('SELECT MAX(ID_PROPOSTA) FROM PROPOSTAS'); dm.cdsPropostasID_VEICULOS_PROPOSTA.AsInteger := dm.cdsVeicPropostaID_VEICULOS_PROPOSTA.AsInteger; dm.cdsPropostas.ApplyUpdates(0); end else dm.cdsPropostas.ApplyUpdates(0); dm.ConConcess.CommitFreeAndNil(DBXTrans); dm.cdsPropostas.Close; dm.cdsPropostas.Open; dm.cdsPropostas.EnableControls; except on e:Exception do begin dm.ConConcess.RollbackFreeAndNil(DBXTrans); raise; end; end; todo esse código já é resultado de modificações q tentei fazer para achar uma solução, mas nada até agora; como vocês podem ver, eu gosto de gerar os id's pelo próprio delphi, no entanto devido ao problema do access violation, resolvi implementar no banco, mas não resolveu, continua a mensagem, e o pior, não é sempre, uma vez aqui e outra acolá, e só na última tabela, a T4. Não sei mais o q fazer.
-
Vou tentar e te retorno abraço
-
Chegamos ao problema central, como pegar o valor do codigo gerado no banco para associar a variável. abraço
-
Vamos lá, concordo, se abrir e fechar a tabela, realmente o dbgrid ficará vazio. isso até q daria, mas se o sistema não rodasse em rede, concorda? abraço
-
Jhonas, desculpe meu raciocinio lento, mas, não entendi o q está errado no aninhamento, pois como falei, o erro só ocorre depois de um tempo de uso do sistema, se está errado o aninhametno, porque não ocorre o tempo todo? E como tb falei, o erro é q quando se escolhe a data no DateTimePeacker ele sempre antecipa um dia, ou seja, se escolho 15/07/09, ele grava no banco 14/07/09, independente de ser feriado, domingo, dia útil, etc..., ou seja, esta caindo no 2º ou no 4º if - sempre, quer dizer, depois de um tempo; mas estou encucado é exatamente porque funciona quando se abre o sistema e durante algum tempo, depois, começa o decremento. abraço
-
Possuo um sistema q dentre outras funções gera parcelas de pagamento, sendo permitido ao operador modificar essa data caso não seja uma data ideal para o cliente naquele mês (é feita uma ligação antes pra confirmar), a operadora escolhe a nova data em um DateTimePeacker, no closeup, tenho a seguinte rotina: procedure TFrm_Recibos_Impressao.Cbo_DataCloseUp(Sender: TObject); var Q_Qr:TSqlquery; dt: TDate; diautil,diadomes,diadasemana:boolean; begin diautil := False; diadomes := False; diadasemana := false; dt:= cbo_data.Date; diautil := Data_util(datetostr(dt)) = 'N'; diadomes := DayOfTheMonth(dt) = 1; diadasemana := DayOfWeek(dt) = 1; if (diautil) and (diadomes) then dt := IncDay(dt,1) else if diautil then dt := IncDay(dt,-1) else if (diadomes) and (diadasemana) then dt := IncDay(dt,1) else If diadasemana then dt := IncDay(dt,-1) else dt := Cbo_Data.Date; if Q_Doacoes_Impressao.RecordCount > 0 then begin Q_Qr := TSQLQuery.Create(nil); Q_Qr.SQLConnection := dm.Conexao; Q_Qr.SQL.Add('UPDATE TAB_DOACOES SET DOC_DATA_OPERACAO = :data WHERE DOC_ID ='+Q_Doacoes_ImpressaoDOC_ID.AsString); Q_Qr.Params.ParamByName('data').AsDate := dt; Q_Qr.ExecSQL; Q_Qr.Free; end; end; e a função Data_util, q verifica se é uma data válida e faz uma consulta a uma tabela de feriados pra saber se é feriados ou não. function TFrm_Recibos_Impressao.Data_util(data: string): string; begin If Not dm.F_Data_Valida(data) Then Begin Exit; End; Try dm.dsQ_Query2.Close; dm.dsQ_Query2.Params.ParamByName('DATA').AsDate := strtodate(data); dm.dsQ_Query2.Open; Except MessageDlg('Aconteceu um erro no momento da obtenção dos dados! Contacte o administrador do sistema!',mtError,[mbOK],0); Exit; End; if dm.dsQ_Query2.RecordCount = 0 then Result := 'S' else Result := 'N'; end; e o problema é o seguinte: quando se entra no sistema, tudo funciona perfeitamente, escolhe uma data, se for feriado ele decrementa um dia, se for domingo, decrementa um dia, se for um dia normal, fica na data escolhida; só que no decorrer da operação do sistema a coisa começa a desandar, toda data q é escolhida, independente de ser válida ou não, o sistema decrementa um dia, ai tem q fechar o sistema e abrí-lo quando tudo funciona normal de novo e assim fica o dia todo, deu problema, fecha e abre. Será q estou esquecendo de retirar algo da memória?
-
Jhonas, desculpa, mas acho que você está fazendo tempestado em copo d'áqua, Não, o dbgrid não ficara vazio, exibirá todos os campos, menos o código, q é exatamente o foco da minha dúvida, eu quero q ao clicar em salvar, além dos outros campos, nome, endereco, etc..., o codigo tb seja exibido, sei lá, alguma propriedade do provider, enfim, mas já estou perdendo as esperanças. Já imaginou um caso desse como mestre/detalhe, onde a tabela detalhe precisa do codigo da mestre para poder fazer a linkagem, ... Com relação à pesquisa não tenho problemas, sei como faze-la para pegar o registro desejado. Não sei se o seu pensamento é diferente do meu, mas, acho q dá sim, mas, se e somente se, eu souber o codigo q foi gerado pelo banco, onde após o salvar, pegaria o codigo e repassaria como parametro para query; Obrigado pela dedicação, espero continuarmos com o debate.
-
Certo, então me diga, como é q vou saber o valor do código pra associar ao parametro se ele não é mostrado, mesmo q use um SELECT MAX(CODIGO) FROM CLIENTES, não dá, pois se estiver em rede complica. sem parametro eu sei q funciona pois eu usaria o Tbookmark pra me levar ao registro q estava trabalhando, mas o problema é: e com parametro?
-
mas o problema de fechar e abrir a tabela e q da forma como a sql,não vai mostrar nenhum registro,a não ser q passe o valor do parametro q e exatamente o codigo q não e exibido. faça ai um teste.
-
Realmente tinha esquecido de dar o commit, o codigo do botão gravar está agora assim: procedure TfrmCadClientes.btSalvarClick(Sender: TObject); var TD: TTransactionDesc; begin if not dm.SQLConnection1.InTransaction then begin TD.TransactionID := 1; TD.IsolationLevel := xilREADCOMMITTED; dm.SQLConnection1.StartTransaction(TD); try dm.cdsClientes.ApplyUpdates(0); dm.SQLConnection1.Commit(TD); except dm.SQLConnection1.Rollback(TD); end; end; end; mas continua a mesma coisa, o código continua sem aparecer; esse amt é dai mesmo? assim como Debit e Credit?
-
Vou tentar, colocarei um exemplo resumido: criei no Ibexpert uma tabela de CLIENTES, com os campos CODIGO e NOME, o campo CODIGO é auto-incremento, então criei o generator, trigger. fui no Delphi, no datamodule fiz a conexão com o banco através do SQLConnection, inseri o SQLDataset com a seguinte SQL: SELECT * FROM CLIENTES WHERE CODIGO = :CODIGO coloquei o datasetprovider e o clientdataset, tudo como manda o figurino. no form de cadastro de clientes, coloquei os 2 campos e um botão de inserir e outro de gravar, no botão inserir coloquei o Append e no botão gravar coloquei o ApplyUpdate(0); clico no botão inserir, digito o nome do cliente e mando gravar, beleza, sem fechar o sistema, vou até o banco e tudo esta gravado no banco normalmente, inclusive o códig gerado automaticamente, voltando ao sistema, o nome do cliente permanece na tela de cadastro, mas o codigo q foi gerado no banco não é mostrado no dbedit q está linkado ao código, ou seja, não está refletindo o valor q foi gerado no banco. se você puder fazer ai talvez entenda melhor. Obrigado
-
Eu penso exatamento dessa forma Jhonas, o meu problema é com a não exibição do codigo gerado no banco no dbtext após o applyupdate, só isso.
-
E dá pra usar o Locate quando uso query com parametro?
-
Oi pessoal, estou usando o D7 com DBExpress e Firebird e tenho a seguinte SQL no SQLDataset: SELECT * FROM CLIENTES WHERE CODIGO = :CODIGO a tabela CLIENTES tem o campo CODIGO q é autonumeração tudo está funcionando perfeitamente só q quando mando gravar, o código não é mostrado no dbtext, e se dou um refresh, devido ao parametro não é exibido nenhum registro. quando não trabalho com parametro, posso usar o bookmark, mas, assim, não sei como fazer. alguém pode me dar uma dica?
-
beleza então, obrigado pela ajuda.
-
Eu vou fazer isso Jhonas, obrigado, agora, startransaction depois do commit?
-
Uso o D2007 e Firebird 2.1, e numa aplicação estou enfrentando um problema, as vezes o registro grava normalmente no banco e outras não, sem erro nenhum. O operador faz o cadastro, grava as informações, e quando ele vai pesquisar o cadastro as informações não estão lá, isso só as vezes, será q o driver DBX nativo do D2007 usado tem alguma coisa haver? Obrigado
-
Olá uso o Firebird e estou necessitando de uma consulta q me retorne a quantidade de registro de uma tabela, a quantidade de registros q obedecem a uma condição e a quantidade de registro q não obedecem a uma condição: a primeira é tranquilo: SELECT ARQUIVO, COUNT(*) FROM TABELA GROUP BY ARQUIVO já a segunda é: SELECT ARQUIVO, COUNT(*) FROM TABELA WHERE CAMPO IS NULL GROUP BY ARQUIVO e a terceira: SELECT ARQUIVO, COUNT(*) FROM TABELA WHERE CAMPO IS NOT NULL GROUP BY ARQUIVO separado funciona bem, só q eu gostaria de colocar tudo no resultado de uma única consulta com campos, 1º campo representado o ARQUIVO, 2º campo, o resultado do 1º select, o 3º campo, resultado do 2º select, e o 4º campo, o resultado do 3º select. Obrigado.
-
Olá, estou com uma tabela de pesquisa, onde tenho 3 perguntas, sendo as repostas "sim" ou "não" para cada uma delas e eu estou precisando da quantidade por registro de quantas respostas foram "sim"e quantas foram "não". Ex.: codigo pergunta1 resposta1 pergunta2 resposta2 pergunta3 resposta3 1 sim não sim o resultado seria dois outros campos com as quantidade de sim - 2 - e outro com a quantidade de não - 1, isso para cada registro. Dá pra fazer no proprio sql? Alguma sugestão? Obrigado
-
Oi Galera, hj tive q abrir um sistema feito há dois anos para fazer algumas modificações, tudo estava funcionando perfeitamente até então, quando executei o projeto no D2007 apresentou o um erro de Access Violation na seguinte rotina: function TDMPrincipal.ContaRegistros(Descricao: String): Integer; var Qr: TSQLQuery; begin Qr := TSQLQuery.Create(nil); with Qr do try SQLConnection := Conexao; SQL.Add(Descricao); Open; Result := Fields[0].Value; finally free; end; end; e o pior, na linha negritada, faz algum sentido?