Amigos, estou com um problema que penso ser simples, mas, como sou novo no Java, tenho sempre minhas dúvidas.
Na realidade, o problema não é o Java, mas o SQL.
Estou trabalhando com JavaFX, Netbeans e PostgreSQL.
Fiz um comando SQL que, a partir do conteúdo de 01 textfield, faz uma pesquisa por todos os campos da tabela, verificando, através de substring, se aquele conteúdo existe.
O comando funciona muito bem, enquanto estou referenciando as colunas que têm tipo de dados CHARACTER VARYING. Porém, quando insiro uma coluna do tipo MONEY ou do tipo DATE, ocorrem vários erros de conversão.
Nas linhas em que utilizo esses dois tipos de dados, utilizo o comando CAST, para fazer a conversão. Exemplos:
“OR data_cadastro ILIKE CAST (’” + data + “’ AS DATE)”
e
“OR mensalidade = CAST(” + mensalidadeSQL + " AS MONEY) "
Onde “data” e “mensalidadeSQL” são variáveis do tipo String.
Colei, abaixo, o comando SQL inteiro. Comentei as partes do comando que fazem ele falhar.
Se puderem me ajudar, agradeço, MUITO.
Colega @jmenezes , você que é especialista em Postgre, pode me ajudar com isso?
Segue o comando:
"SELECT * FROM tblcadcliforn "
+ "WHERE cli_ou_forn ILIKE '" + qualquer + "' "
+ "OR nome ILIKE '" + qualquer + "' "
+ "OR obs ILIKE '" + qualquer + "' "
+ "OR nome_resumido ILIKE '" + qualquer + "' "
+ "OR razao_social ILIKE '" + qualquer + "' "
+ "OR nome_fantasia ILIKE '" + qualquer + "' "
+ "OR cpf ILIKE '" + qualquer + "' "
+ "OR rg ILIKE '" + qualquer + "' "
+ "OR passaporte ILIKE '" + qualquer + "' "
+ "OR cnpj ILIKE '" + qualquer + "' "
+ "OR insc_estadual ILIKE '" + qualquer + "' "
+ "OR insc_municipal ILIKE '" + qualquer + "' "
// + "OR mensalidade = CAST(" + mensalidadeSQL + " AS MONEY) "
+ "OR email ILIKE '" + qualquer + "' "
+ "OR regularidade ILIKE '" + qualquer + "' "
// + "OR inicio_contrato = CAST('" + data + "' AS DATE) "
+ "OR nome_adm1 ILIKE '" + qualquer + "' "
+ "OR fones_adm1 ILIKE '" + qualquer + "' "
+ "OR nome_adm2 ILIKE '" + qualquer + "' "
+ "OR fones_adm2 ILIKE '" + qualquer + "' "
+ "OR cep ILIKE '" + qualquer + "' "
+ "OR logradouro ILIKE '" + qualquer + "' "
+ "OR endereco ILIKE '" + qualquer + "' "
+ "OR numero ILIKE '" + qualquer + "' "
+ "OR complemento ILIKE '" + qualquer + "' "
+ "OR bairro ILIKE '" + qualquer + "' "
+ "OR cidade ILIKE '" + qualquer + "' "
+ "OR estado ILIKE '" + qualquer + "' "
+ "OR pais ILIKE '" + qualquer + "' "
// + "OR data_nasc = CAST('" + data + "' AS DATE) "
+ "OR sexo ILIKE '" + qualquer + "' "
+ "OR orgao_emissor ILIKE '" + qualquer + "' "
// + "OR data_emissao = CAST('" + data + "' AS DATE) "
+ "OR pis_pasep ILIKE '" + qualquer + "' "
+ "OR naturalidade ILIKE '" + qualquer + "' "
+ "OR nome_pai ILIKE '" + qualquer + "' "
+ "OR nome_mae ILIKE '" + qualquer + "' "
+ "OR tit_eleitor ILIKE '" + qualquer + "' "
+ "OR reservista ILIKE '" + qualquer + "' "
+ "OR skype ILIKE '" + qualquer + "' "
+ "OR website ILIKE '" + qualquer + "' "
+ "OR facebook ILIKE '" + qualquer + "' "
+ "OR instagram ILIKE '" + qualquer + "' "
+ "OR twiter ILIKE '" + qualquer + "' "
+ "OR ponto_referencia ILIKE '" + qualquer + "' "
+ "OR sexo_outro ILIKE '" + qualquer + "' "
+ "OR nacionalidade ILIKE '" + qualquer + "' ORDER BY nome_resumido";
// + "OR data_cadastro = CAST ('" + data + "' AS DATE) "
// + "OR hora_cadastro = CAST('" + data + "' AS DATE) "
// + "OR data_alteracao = CAST('" + data + "' AS DATE) "
// + "OR hora_alteracao = CAST('" + data + "' AS DATE) "
// + "OR dia_vencimento = CAST('" + data + "' AS DATE) "
Valeu!