Ir para conteúdo
Fórum Script Brasil

K!ko

Membros
  • Total de itens

    106
  • Registro em

  • Última visita

Sobre K!ko

  • Data de Nascimento 05/01/1990

Contatos

  • MSN
    bruno_rekomeco@hotmail.com
  • Website URL
    http://
  • ICQ
    0

Perfil

  • Gender
    Male
  • Location
    Capivari - SP
  • Interests
    Trocar informações, experiências e conhecimentos com os demais usuarios

K!ko's Achievements

0

Reputação

  1. Bom dia senhores. Bom, estou desenvolvendo uma análise de viabilidade econômica num projeto aqui do meu trabalho. Esta análise fará uso de valores gerados a partir de uma simulação de financiamento FINAME que também será implantada no projeto. Este tipo de financiamento utiliza diversos indices financeiros para calculo de parcelas que são atualizados de tempos em tempos e possuem um certo prazo de validade. O que gostaria de saber é se existe algum WebService disponibilizado por algum orgão, ou até mesmo um portal, que trate do assunto, onde eu possa pegar os valores destes indices atualizados sempre que precisar. Se alguém souber de algo a respeito agradeço pela informação. Grato pela atenção.
  2. Snake... graças a você encontrei a solução. Passei a estudar as possibilidades de trabalhar com o valor retornado pelo cast de float. E encontrei uma solução. O cast me retorna 1,21000005037786E-6 sem dar erro... mediante a isto eu forcei uma mascara no display format do campo e.... vualá! Ele retornou exatamente oque tinha no banco, ou seja, 0,00000121. xD Sendo assim... Tópico Resolvido! muito obrigado pela ajuda Snake!! xD Grande Abraço.
  3. Então Snake. Eu testei dando cast para Float no sql... Ele não deu erro... no entando ele me retornou o valor convertido xD Retornou 1,21000005037786E-6 De qualquer forma creio que estamos no caminho certo.... Uma forma que testei e funcionou do meu caso foi dar o Cast para Varchar no meu SQL... Fiz vários testes de inserção, deleção e update... ele funcionou normalmente... Mesmo assim fico com receio em ficar convertendo valores Numéricos com tantas casas decimais para serem trabalhados como String. Mas como não encontrei outra solução até o momento vai assim mesmo.... muito obrigado por enquando Snake xD Abraço.
  4. Não entendi muito bem sua pergunta. O processo que eu faço é o seguinte: Eu monto o comando SQL e atribuo o mesmo pra propriedade CommandText do ClientDataSet que eu uso na tela. Depois eu Atribuo os parâmetros necessários no ClientDataSet e em seguida dou um Open() nele. No momento que eu dou o Open ele já retorna o Erro e só me traz os valores que não caem naquela situação da conversão. É isso que você queria saber? Exato, exato. Vai chegando fim de tarde, usuário ligando e daí já viu né... =D É, não sei no Delphi2006 como isso funciona, mas dar o erro direto no Open é estranho... Se tivesse que dar o erro, acredito que daria na hora em que você fosse jogar o valor para algum campo, variável, etc. Esse erro dá se você não fizer cast, se der cast pra varchar, vai na boa, é isso? Já tentou fazer o cast para float também? exato... Cast pra varchar funciona normal... Vou tentar dar o cast pra Float... Eu vou só confirmar mais uma coisa... depois que li seu ultimo post eu lembrei de uma outra coisa e pode ser isto que esteja ocasionando o erro... Eu possuo um componente desenvolvido aqui na empresa onde trabalho e ele faz a atribuição de mascaras para exibição dependenedo do tipo do campo atribuido ao mesmo... vou dar uma verificada nisto também e já posto o resultado. muito obrigado por enquanto.
  5. Não entendi muito bem sua pergunta. O processo que eu faço é o seguinte: Eu monto o comando SQL e atribuo o mesmo pra propriedade CommandText do ClientDataSet que eu uso na tela. Depois eu Atribuo os parâmetros necessários no ClientDataSet e em seguida dou um Open() nele. No momento que eu dou o Open ele já retorna o Erro e só me traz os valores que não caem naquela situação da conversão. É isso que você queria saber?
  6. Pode crer Snake. Realmente isto ocorre, ao dar um cast no valor convertendo-o para Varchar, por exemplo, e depois colá-lo no bloco de notas ele trouxe o valor correto. Bom... mais será que num tem alguma maneira de trazer este valor sem conversão? Por que quando eu salvei este valor na base de dados foi pela aplicação, ou seja, ele só converte quando eu tento resgatar este valor da base de dados. Mesmo assim, em virtude do que você apresentou a unica solução que vejo no momento é usar o Cast e exibir o valor do campo como String na minha aplicação. Pelo menos provisóriamente. De qualquer forma, muito obrigado pela ajuda até o momento. Abraço.
  7. Boa Tarde Bispo Snake. Então, na base de dados o campo é do tipo NUMERIC(16,13). Equivalente ao Numeric do MSSQL. Eu creio que esta conversão de tipos está ocorrendo no delphi. No entanto, eu faço a criação dos campos em tempo de execução aqui no delphi, e realmente crio ele como Float. O problema é que ele está convertendo também o valor do campo, ou seja, na base de dados o campo está com valor "0,00000121" e quando da o erro no delphi ele apresenta o campo com o valor "1,21E-6". Uma coisa que eu percebi também, não sei se tem alguma influência, eu peguei este valor na base de dados, selecionei e apertei ctrl+c e depois abri o bloco de notas e apertei ctrl+v. Ao invés de colar o valor 0,00000121... colou o valor 1,21E-6. Será que não é nenhuma config. do proprio windows que esta convertendo os valores? Grato desde já.
  8. Boa tarde senhores. Estou com o seguinte problema: Estou trabalhando com Firebird 2.5 e Delphi 2006. Possuo uma tabela em minha base de dados com um campo do tipo Numeric(16,13). Na minha aplicação eu cheguei a realizar a inserção do seguinte valor: 0,00000121. Salvou normalmente na base de dados e consigo enchergar este valor através de uma consulta SQL no IBExpert, por exemplo. No entando, quando executo uma consulta SQL para retornar este valor num ClientDataSet da minha aplicação, a mesma me retorna a seguinte mensagem de erro: "1,21E-6 is not a valid BCD value"; Eu realizei alguns testes e notei que esta "conversão" de valores ocorre a partir da 5ª casa decimal dos valores inseridos neste campo, ou seja, com o valor 0,0001 o erro não ocorre, já com o valor 0,00001 o erro passa a ocorrer pois este valor é convertido para "1E-5" e por algum motivo ele não é suportado no delphi. OBS.: A mensagem de erro mensionada anteriormente só aparace quando habilito a opção de visualização de excessões do Delphi na parte de opções da aba Tools. Mesmo aparecendo a mensagem de erro, minha aplicação consegue trazer todos os registros que possuem valores maiores ou iguais a 0,0001. Existe alguma maneira de retornar o valor que realmente está armazenado na base de dados, quero dizer, sem conversão? Espero ter sido claro quanto ao meu problema. Fico no aguardo de uma resposta.
  9. Bom dia senhores. Bom, estou com um probleminha com impressão duplex usando o quickreport em delphi 2006. Possuo um formulário pai com as configurações necessárias para gerar o relatório. Uma das opções existentes é de "Impressão Frente Verso", que nada mais é que um checkbox, que ao ser checado ativa a opção "Duplex" do quickreport. QuickRep1.PrinterSettings.Duplex := CBImprimeFrenteVerso.Checked; O problema é que a segunda parte a ser impressa sai de ponta cabeça. Como se fosse impresso em formulário continuo só que na mesma pagina. Preciso saber se existe como ele imprimir nos dois lados da folha na mesma orientação e como eu posso fazer isto. Grato desde já.
  10. Muito obrigado Jhonas. Irei pesquisar a partir dos links que você mencionou. Depois posto o resultado do projeto aqui no forum. abraço.
  11. Obrigado pela dica Jhonas, mas eu já havia pesquisado aqui no forum antes de postar e postei pois os tópicos relacionados a minha duvida não a sanavam. O que eu quero saber é se o que eu mencionei no tópico pode ser feito... só isso. A parte de como fazer eu tenho uma noção só quero saber se vai funcionar da maneira que descrevi, ou seja: um webservice Delphi conversando com clientes java, php, palm ou até msmo delphi. Através de XML(WSDL). Grato pela atenção. Abraço.
  12. Boa tarde Senhores. Eu pretendo desenvolver um projeto de aplicação distribuída com a finalidade de interagir diversas tecnologias de desenvolvimento de software tento como base um servidor de métodos Web Service em Delphi rodando sobre um Serviço IIS. Basicamente o projeto ficaria assim: No Servidor principal estaria implantado o banco de dados(PostgreSQL) e o servidor de métodos Delphi desempenhando o trabalho de um Web Service sobre um serviço IIS. A comunicação entre a aplicação cliente e o servidor de métodos Delphi se daria por meio de arquivos XML que realizariam o trabalho de encapsulamento dos métodos transmitidos no padrão WSDL. Cada aplicação ira traduzir o XML recebido para sua linguagem e executar o respectivo método. Exemplo: Servidor Principal (IIS) ( Banco <-----> WebService[servidor de métodos Delphi] ) <----(XML via Rede/Web)----> (Cliente [JAVA, Palm, PHP]). Na verdade eu gostaria de saber se o desenvolvimento neste conceito é possível e quais tecnologias seriam necessárias para realizar o projeto. Com base nas pesquisas voltadas para a parte do servidor de métodos em Delphi que realizei, cheguei a conclusão que usarei SOAP no contexto DataSnap para a comunicação do servidor com as aplicações cliente. Fico no aguardo.
  13. Boa tarde pessoal. Primeiramente eu quero deixar bem claro que sou extramamente principiante na parte de desenvolvimento para web. Qualquer ajuda é bem vinda, assim como críticas. Bom, vamos ao problema: Eu estou tentando desenvolver o MySpace da minha banda e, até o momento, só havia vizualizado o resultado no FireFox e estava tudo OK. No entando, quando eu fui ver como estava ficando no IE, o resultado não foi bem como o esperado. no IE aparece uma borda nas colunas onde estão as imagens do banner e dos integrantes da banda e isso ferra com o layout todo <_< Eu já pesquisei sobre os padrões das propriedades do IE, sobre hacks CSS, etc, etc. Mas não consegui resolver este problema. Alguém sabe o que pode ser? Grato desde já.
  14. K!ko

    erro ao conectar Firebird?

    Ola Dr. House. Aparentemente ele não está conseguindo abrir o banco especificado no caminho que você colocou. você já verificou se o banco realmente está la? Caso estiver, você verificou se você tem permissão para acessar o banco? você já verificou se não está faltando nada nos parâmetros usados para estabelecer a conexão com seu banco no código que você postou? Como por exemplo nome de usuário e senha para se conectar com o banco(sysdba, masterkey)? você tem certeza de que está usando o Driver correto para se conectar com o banco? No meu caso eu uso o driver "firebirdsql-full.jar" e o mesmo tem que ficar nos seguintes diretórios para funcionar: "C:\Arquivos de programas\Java\jdk1.6.0_10\jre\lib\ext" "C:\Arquivos de programas\Java\jre6\lib\ext" Eu postei o caminho só para você ter uma noção do que estou tentando dizer, pois eu trabalho em WindowsXP. Mesmo assim, quando você efetua a instalação do pacote de desenvolvimento(JDK) no Linux ele deve criar e configurar os diretórios usados pelo java e dentro destes diretórios você deve conseguir encontrar o caminho que mensionei. Não sei se servirá pra você, mas eu uso o seguinte código para estabelecer conexão com banco Firebird: import java.sql.Connection; import java.sql.DriverManager; /** * @author K!ko, Renan */ public class ConectorFire { public static Connection getConnection(String driver, String url, String user, String password) { try { Class.forName(driver); //carregar o dirver return DriverManager.getConnection(url, user, password); //conexão com o banco } catch (Exception ex) { ex.printStackTrace(); } return null; } public static Connection getTestConnection() //testa a conexão com o banco. { return getConnection("org.firebirdsql.jdbc.FBDriver","jdbc:firebirdsql:localhost/3050:C:/java/BasicColor/DB_BASIC_COLOR.FDB", "sysdba", "masterkey"); } } Espero ter ajudado.
  15. Olá Michelle. Que IDE você está usando para codificar? De que forma você grava dados no banco geralmente? Se baseando na forma que você grava dados no seu banco você pode criar um laço onde você andaria os itens do tal Grid e iria inserindo as informações na tabela do banco respeitando a estrutura do mesmo. Segue um exemplo de Mestre-Detalhe de um projeto simples desenvolvido em NetBeans e Firebird: private void gravar() { if(operacao.trim().equals("I")) { // Prepara as Variaveis e os componentes usados para gravar. Dividindo os mesmos para o cabeçalho e o item. Connection con_proc = ConectorFire.getTestConnection(); PreparedStatement stmt_proc = null; DefaultTableModel tabela = (DefaultTableModel)this.jT_Produtos.getModel(); stmt_cab = null; stmt_item = null; con_cab = ConectorFire.getTestConnection(); con_item = ConectorFire.getTestConnection(); comando_cab = "insert into bc_venda_cab values(?,?,?,?,?,?)"; comando_item = "insert into bc_venda_item values(?,?,?,?,?,?,?)"; try { // função usada para pegar os dados dos campos e jogar nas variaveis usadas para gravar pegar_dados(); // função usada para verificar se o código já existe no banco. if (verificaseexiste(vven_codigo) == false) { //grava o cabeçalho. stmt_cab = con_cab.prepareStatement(comando_cab); // stmt_cab.setInt(1,vven_codigo); stmt_cab.setInt(2,vven_clcodigo); stmt_cab.setInt(3,vven_vencodigo); stmt_cab.setDate(4, new java.sql.Date(format.parse(jTF_Data.getText()).getTime())); stmt_cab.setDouble(5, vven_total); stmt_cab.setString(6, null); stmt_cab.executeUpdate(); //grava os itens. for (int i = 0; i<tabela.getRowCount();i++) { stmt_item = con_item.prepareStatement(comando_item); stmt_item.setInt(1, (i+1)); stmt_item.setInt(2, Integer.parseInt(jTF_CabCodigo.getText())); stmt_item.setInt(3, Integer.parseInt(tabela.getValueAt(i, 0).toString())); stmt_item.setFloat(5, Float.parseFloat(tabela.getValueAt(i, 2).toString())); stmt_item.setString(4, "ABC"); stmt_item.setDouble(6, Double.parseDouble(tabela.getValueAt(i, 3).toString())); stmt_item.setDouble(7, Double.parseDouble(tabela.getValueAt(i, 4).toString())); stmt_item.executeUpdate(); //atualiza saldo dos produtos via storedProcedure. stmt_proc = con_proc.prepareStatement("EXECUTE PROCEDURE PROC_ATUALIZA_SALDO_PR(?,?)"); stmt_proc.setInt(1, Integer.parseInt(tabela.getValueAt(i, 0).toString())); stmt_proc.setFloat(2, Integer.parseInt(tabela.getValueAt(i, 2).toString())); stmt_proc.execute(); } //fecha as conexões. con_cab.close(); con_item.close(); bloqueio(true); JOptionPane.showMessageDialog(rootPane, "Status: Registro gravado com sucesso!!!"); } else { JOptionPane.showMessageDialog(rootPane, "Status: Registro já existente! Verifique!"); con_cab.close(); } } catch (Exception ex) { ex.printStackTrace(); } } Na situação acima temos uma tela de venda onde gravamos dados em duas tabelas no banco de dados, ou seja, na tabela de cabeçalho e na tabela dos itens da venda. No caso dos itens eu uso um componente jTable para inserir os dados da mesma forma que você faz(usando jTexts para digitar os dados e jButtons para inserir na jTable) e para gravar estes itens eu uso um laço(for) onde percorro toda a jTable e insiro os dados no Banco. Espero ter ajudado.
×
×
  • Criar Novo...