[Resolvido!] Como fazer uma criteria no modelo dessa query

18 respostas
Kleber-rr

olá pessoal, estou com um problema tentando usar esse método no meu Dao...

@SuppressWarnings("unchecked")
	public List<Servico> getServicosByPrograma(Long id) {
		Query q = session.createQuery("select p from "
				+ Servico.class.getName()
				+ " as p where p.programa.cod_programa like :id");
		q.setParameter("id", id);

		return q.list();
	}
está me retornando esse erro:
HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: javax.servlet.ServletException: #{unidadeHandler.actionCarregaServicos}: org.hibernate.exception.SQLGrammarException: could not execute query
	br.gov.rr.setrabes.util.HibernateSessionFilter.doFilter(HibernateSessionFilter.java:26)

root cause

javax.servlet.ServletException: #{unidadeHandler.actionCarregaServicos}: org.hibernate.exception.SQLGrammarException: could not execute query
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)
	org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
	org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
	br.gov.rr.setrabes.util.HibernateSessionFilter.doFilter(HibernateSessionFilter.java:23)

root cause 
root cause

org.postgresql.util.PSQLException: ERRO: operador não existe: bigint ~~ bigint
  Dica: Nenhum operador corresponde com o nome e o(s) tipo(s) de argumento(s) informados. Você precisa adicionar conversões de tipo explícitas.
  Posição: 174
	org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2062)
	org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1795)
	org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
	org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:479)
	org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:367)
	org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:271)
	com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:76)
	org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:186)
	org.hibernate.loader.Loader.getResultSet(Loader.java:1787)
	org.hibernate.loader.Loader.doQuery(Loader.java:674)
	org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
	org.hibernate.loader.Loader.doList(Loader.java:2220)
	org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
	org.hibernate.loader.Loader.list(Loader.java:2099)
	org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:378)
	org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
	org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
	org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
	org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
	br.gov.rr.setrabes.dao.ServicoDao.getServicosByPrograma(ServicoDao.java:52)
	br.gov.rr.setrabes.handler.UnidadeHandler.getServicosByPrograma(UnidadeHandler.java:79)
	br.gov.rr.setrabes.handler.UnidadeHandler.actionCarregaServicos(UnidadeHandler.java:71)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.lang.reflect.Method.invoke(Method.java:616)
	org.apache.el.parser.AstValue.invoke(AstValue.java:131)
	org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
	com.sun.faces.application.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:77)
	com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91)
	javax.faces.component.UICommand.broadcast(UICommand.java:383)
	org.ajax4jsf.component.AjaxActionComponent.broadcast(AjaxActionComponent.java:61)
	org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:186)
	org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:164)
	org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:352)
	com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
	com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
	com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
	org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
	org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
	br.gov.rr.setrabes.util.HibernateSessionFilter.doFilter(HibernateSessionFilter.java:23)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.14 logs.
Apache Tomcat/6.0.14

Alguém poderia me dizer qual o erro ou me dizer como posso fazer isso usando criteria??

Valeu!!!

18 Respostas

marcelo.bellissimo

Algo assim:

public List&lt;Servico&gt; getServicosByPrograma(Long id) { Criteria criteria = session.createCriteria(Servico.class); List&lt;Servico&gt; results = criteria.createCriteria("programa").add(Restrictions.like("cod_programa",id)).list(); return results; }

Kleber-rr
marcelo.bellissimo:
Algo assim:
public List&lt;Servico&gt; getServicosByPrograma(Long id) {  
  Criteria criteria = session.createCriteria(Servico.class);
  List&lt;Servico&gt; results = criteria.createCriteria("programa").add(Restrictions.like("cod_programa",id)).list();
  return results;
}

Marcelão, meu amigo, valeu pela ajuda...

Mas me deu a mesma Exception...
:(
Eu estou usando o banco em Postgresql, será que tem algum conflito entre algun @xxx da minha classe com o hibernate ou postgresql??

segue a classe:

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;

import org.hibernate.annotations.Cascade;

@Entity
@Table(name = "programas")
public class Programa implements Serializable {

	private static final long serialVersionUID = -5582648910303813488L;

	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@Column(name = "PROGRAMA_ID")
	private Long cod_programa;

	@Column(name = "nome")
	private String nome;

	@OneToMany(mappedBy = "programa", fetch = FetchType.LAZY)
	@Cascade(org.hibernate.annotations.CascadeType.ALL)
	private List&lt;Servico&gt; servicos = new ArrayList&lt;Servico&gt;();

	public Long getCod_programa() {
		return cod_programa;
	}

	public void setCod_programa(Long cod_programa) {
		this.cod_programa = cod_programa;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public List&lt;Servico&gt; getServicos() {
		return servicos;
	}

	public void setServicos(List&lt;Servico&gt; servicos) {
		this.servicos = servicos;
	}

	public String toString() {
		return this.nome;
	}

	@Override
	public boolean equals(Object obj) {
		if ((obj instanceof Programa)
				&& (((Programa) obj).getNome().equals(this.nome))) {
			return true;
		} else {
			return false;
		}
	}

	public int hashCode() {
		return this.nome.length() * 23;
	}

}

Valeu!!!!

marcelo.bellissimo

Cara, é algum erro de conversão de tipo do PostGre… tenta mudar o tipo do seu atributo cod_programa de Long pra BigInteger … e também do parametro sendo passado pra ele na consulta …

Kleber-rr

Marcelão, tentei alterar para BigInteger, mas ele dá problema de incompatibilidade …

o q mais eu posso tentar fazer?

marcelo.bellissimo

Eu vou tentar simular aqui, mas faça um teste enquanto isso:
Sua variável é Long? use o Query.setLong()… se for BigInteger, use Query.setBigInteger()… sacou? Cada tipo tem o seu “setter” específico no objeto Query, que realiza as conversões necessárias… talvez isso solucione o problema… e verifique como que o campo está criado na tabela, se é bigint ou numeric (não me recordo os tipos do Postgre, pra falar a verdade… :? ), e use uma variável adequada para esse tipo…

Kleber-rr

Blz, eu mandei gerar as tabelas por um gerador de tabelas, que ficaram assim:

create table programas (
        PROGRAMA_ID  bigserial not null,
        nome varchar(255),
        primary key (PROGRAMA_ID)
    )
09:21:58,777 DEBUG SchemaExport:303 - 
    create table programas (
        PROGRAMA_ID  bigserial not null,
        nome varchar(255),
        primary key (PROGRAMA_ID)
    )

    create table servicos (
        SERVICO_ID  bigserial not null,
        nome varchar(255),
        id_servico_programa int8,
        primary key (SERVICO_ID)
    )
09:21:58,823 DEBUG SchemaExport:303 - 
    create table servicos (
        SERVICO_ID  bigserial not null,
        nome varchar(255),
        id_servico_programa int8,
        primary key (SERVICO_ID)
    )

    alter table servicos 
        add constraint FK523511948EECFB92 
        foreign key (id_servico_programa) 
        references programas
09:21:58,885 DEBUG SchemaExport:303 - 
    alter table servicos 
        add constraint FK523511948EECFB92 
        foreign key (id_servico_programa) 
        references programas
Kleber-rr

fiz uma correçao no sql, e agora naum é mais bigserial, e sim int8. O problema é q continua dando o mesmo erro…

Kleber-rr

Tá me aparecendo o erro na linha 41 do meu ServicoDao, que está assim:

@SuppressWarnings("unchecked")
	public List<Servico> getServicosId(Long id) {
		Criteria c = session.createCriteria(Servico.class);
		List<Servico> results = c.createCriteria("programa").add(
				Restrictions.like("cod_programa", id)).list(); //essa é a linha do erro...
		return results;
	}

erro:

javax.servlet.ServletException: javax.servlet.ServletException: #{unidadeHandler.actionCarregaServicos}: org.hibernate.exception.SQLGrammarException: could not execute query
	br.gov.rr.setrabes.util.HibernateSessionFilter.doFilter(HibernateSessionFilter.java:26)

...

org.postgresql.util.PSQLException: ERRO: operador não existe: bigint ~~ bigint
  Dica: Nenhum operador corresponde com o nome e o(s) tipo(s) de argumento(s) informados. Você precisa adicionar conversões de tipo explícitas.
  Posição: 317
...
	br.gov.rr.setrabes.dao.ServicoDao.getServicosId(ServicoDao.java:41)
Kleber-rr
o banco está assim:
-- Table: programa

-- DROP TABLE programa;

CREATE TABLE programa
(
  cod_programa bigint NOT NULL,
  nome character varying(255),
  CONSTRAINT programa_pkey PRIMARY KEY (cod_programa)
)
WITH (OIDS=FALSE);
ALTER TABLE programa OWNER TO postgres;

-- Table: servico

-- DROP TABLE servico;

CREATE TABLE servico
(
  cod_servico bigint NOT NULL,
  nome character varying(255),
  programa_cod_programa bigint,
  CONSTRAINT servico_pkey PRIMARY KEY (cod_servico),
  CONSTRAINT fk7643c6bf26b9a8f7 FOREIGN KEY (programa_cod_programa)
      REFERENCES programa (cod_programa) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION
)
WITH (OIDS=FALSE);
ALTER TABLE servico OWNER TO postgres;

Alguem poderia me ajudar?

marcelo.bellissimo

Manda a sua classe Servico também. Vou tentar simular isso aqui, tá muito estranho.

Leozin

Fala Kleber

Ao invéz de usar LIKE, use EQ(“cod_programa”, id). Vê aí se funciona :slight_smile:

marcelo.bellissimo

Leozin:
Fala Kleber

Ao invéz de usar LIKE, use EQ(“cod_programa”, id). Vê aí se funciona :)

Eu acho que não vai adiantar muito, mas de qualquer jeito vale a tentativa…

Só pra constar, Kleber, eu simulei aqui usando as suas classes e um BD em Postgre com o seu Script de create, e funcionou tudo normalmente… :?

Kleber-rr
marcelo.bellissimo:
Leozin:
Fala Kleber

Ao invéz de usar LIKE, use EQ("cod_programa", id). Vê aí se funciona :)

Eu acho que não vai adiantar muito, mas de qualquer jeito vale a tentativa...

Só pra constar, Kleber, eu simulei aqui usando as suas classes e um BD em Postgre com o seu Script de create, e funcionou tudo normalmente... :?

Poisé marcelo... num sei q p#@#$ é essa...

Vamos do começo... minhas tabelas:
-- Table: programa

-- DROP TABLE programa;

CREATE TABLE programa
(
  cod_programa bigint NOT NULL,
  nome character varying(255),
  CONSTRAINT programa_pkey PRIMARY KEY (cod_programa)
)
WITH (OIDS=FALSE);
ALTER TABLE programa OWNER TO postgres;


-- Table: servico

-- DROP TABLE servico;

CREATE TABLE servico
(
  cod_servico bigint NOT NULL,
  nome character varying(255),
  programa_cod_programa bigint,
  CONSTRAINT servico_pkey PRIMARY KEY (cod_servico),
  CONSTRAINT fk7643c6bf26b9a8f7 FOREIGN KEY (programa_cod_programa)
      REFERENCES programa (cod_programa) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION
)
WITH (OIDS=FALSE);
ALTER TABLE servico OWNER TO postgres;
meu hibernate-cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
  <session-factory>
		<property name="hibernate.connection.url">jdbc:postgresql://localhost:5432/SEGIv1.0</property>
		<property name="hibernate.connection.driver_class">org.postgresql.Driver</property>
		<property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>
		<property name="hibernate.connection.username">postgres</property>
		<property name="hibernate.connection.password">postgres</property>
		<property name="hibernate.c3p0.min_size">5</property>
		<property name="hibernate.c3p0.max_size">20</property>
		<property name="hibernate.c3p0.timeout">180</property>
		<property name="hibernate.c3p0.idle_test_period">100</property>
		<property name="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</property>


		<property name="hibernate.show_sql">true</property>
		<property name="hibernate.format_sql">true</property>


        <mapping class="xxx.estrutura.Servico" />
        <mapping class="xxx.estrutura.Programa" />
  </session-factory>
</hibernate-configuration>
minhas classe programa e servico
import java.util.ArrayList;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;

import org.hibernate.annotations.Cascade;

@Entity
@Table(name = "programa")
public class Programa {

	private static final long serialVersionUID = -5582648910303813488L;

	@Id
	@GeneratedValue
	@Column(name = "cod_programa")
	private Long cod_programa;

	@Column(name = "nome")
	private String nome;

	@OneToMany(mappedBy = "programa", fetch = FetchType.LAZY)
	@Cascade(org.hibernate.annotations.CascadeType.ALL)
	private List<Servico> servicos = new ArrayList<Servico>();

	public Long getCod_programa() {
		return cod_programa;
	}

	public void setCod_programa(Long cod_programa) {
		this.cod_programa = cod_programa;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public List<Servico> getServicos() {
		return servicos;
	}

	public void setServicos(List<Servico> servicos) {
		this.servicos = servicos;
	}

	public String toString() {
		return this.nome;
	}

	@Override
	public boolean equals(Object obj) {
		if ((obj instanceof Programa)
				&& (((Programa) obj).getNome().equals(this.nome))) {
			return true;
		} else {
			return false;
		}
	}

	public int hashCode() {
		return this.nome.length() * 23;
	}

}
classe servico
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

@Entity
@Table(name = "servico")
public class Servico {

	private static final long serialVersionUID = -2094704997130038211L;

	@Id
	@GeneratedValue
	@Column(name = "cod_servico")
	private Long cod_servico;

	@Column(name = "nome")
	private String nome;

	@ManyToOne(cascade = javax.persistence.CascadeType.ALL)
	@JoinColumn(name = "programa_cod_programa")
	private Programa programa;

	public Long getCod_servico() {
		return cod_servico;
	}

	public void setCod_servico(Long cod_servico) {
		this.cod_servico = cod_servico;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String toString() {
		return this.nome;
	}

	public void setPrograma(Programa programa) {
		this.programa = programa;
	}

	public Programa getPrograma() {
		return programa;
	}

	@Override
	public boolean equals(Object obj) {
		if ((obj instanceof Servico)
				&& (((Servico) obj).getNome().equals(this.nome))) {
			return true;
		} else {
			return false;
		}
	}

	public int hashCode() {
		return this.nome.length() * 23;
	}

}
Minha classe Dao genérica
import java.util.List;

import org.apache.log4j.Logger;
import org.hibernate.Session;

public class Dao<T> {

	private static Logger logger = Logger.getLogger(Dao.class);
	private Class<T> persistentClass;
	protected Session session;

	public Dao(Session session, Class<T> persistentClass) {
		this.session = session;
		this.persistentClass = persistentClass;
	}

	@SuppressWarnings("unchecked")
	public T load(Long id) {
		logger.info("lendo " + persistentClass + " com id " + id);
		return (T) session.load(persistentClass, id);
	}

	public void save(T t) {
		logger.info("salvando " + t);
		session.save(t);
	}

	public void delete(T t) {
		logger.info("deletando " + t);
		session.delete(t);
	}

	@SuppressWarnings("unchecked")
	public List<T> list() {
		logger.info("Listando todos");
		return session.createCriteria(persistentClass).list();
	}

	public void merge(T t) {
		logger.info("Salvando ou atualizando" + t);
		session.merge(t);
	}

}
minha ServicoDao
import java.util.List;

import org.apache.log4j.Logger;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.criterion.Restrictions;

import xxx.estrutura.Servico;

public class ServicoDao extends Dao<Servico> {

	private Logger logger = Logger.getLogger(ServicoDao.class);

	public ServicoDao(Session session, Class<?> classe) {
		super(session, Servico.class);
	}

	public Servico pesquisaServicoById(Long cod_servico) {
		logger.info("pesquisaUnidadeById : " + cod_servico);
		return (Servico) session.load(Servico.class, cod_servico);
	}

	@SuppressWarnings("unchecked")
	public List<Servico> pesquisaServicosNome(String nome) {
		Criteria c = session.createCriteria(Servico.class);
		c.add(Restrictions.ilike("nome", "%" + nome + "%"));

		return c.list();
	}

	@SuppressWarnings("unchecked")
	public List<Servico> getServicosId(Long id) { //metodo q me retorna o erro PSQLException
		Criteria c = session.createCriteria(Servico.class);
		List<Servico> results = c.createCriteria("programa").add(
				Restrictions.like("cod_programa", id)).list();
		return results;
	}

	@SuppressWarnings("unchecked")
	public List<Servico> getServicosByPrograma(Long id) { //esse me retorna o mesmo erro...
		Query q = session.createQuery("select c from "
				+ Servico.class.getName()
				+ " as c where c.programa.cod_programa like :id");
		q.setParameter("cod_programa", id);

		return q.list();
	}
}
classe bean
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.el.ELContext;
import javax.el.ELResolver;
import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.component.UIParameter;
import javax.faces.component.html.HtmlSelectOneMenu;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import javax.faces.model.SelectItem;
import javax.faces.validator.ValidatorException;

import org.hibernate.Session;


public class UnidadeHandler implements Serializable {
	private static final long serialVersionUID = 626173424191015932L;
	private Unidade unidade = new Unidade();
	private Long id;
	private ProgramaHandler programaSelecionado = new ProgramaHandler();
	private ServicoHandler servicoSelecionado = new ServicoHandler();

	private List<SelectItem> servicos = new ArrayList<SelectItem>();
	private Programa programa = new Programa();
	private Servico servico = new Servico();

	public List<SelectItem> getProgramas() {
		Session session = HibernateUtil.currentSession();
		ProgramaDao dao = new ProgramaDao(session, Programa.class);

		List<Programa> lista = dao.list();

		List<SelectItem> itens = new ArrayList<SelectItem>(lista.size());

		for (Programa p : lista) {
			itens.add(new SelectItem(p.getCod_programa(), p.getNome()));
		}

		return itens;
	}

	public void actionCarregaServicos() {
		this.setServicos(this.getServicosByPrograma());
	}

	public List<SelectItem> getServicosByPrograma() {
		Session session = HibernateUtil.currentSession();

		ServicoDao dao = new ServicoDao(session, Servico.class);

		List<Servico> servicos = dao.getServicosId(this.programa
				.getCod_programa());

		List<SelectItem> items = new ArrayList<SelectItem>(servicos.size());

		for (Servico c : servicos) {
			items.add(new SelectItem(c.getCod_servico(), c.getNome()));
		}

		return items;
	}
meu jsp
<h:outputLabel for="programa" value="Programa " />
				<h:selectOneMenu id="programa" value="#{unidadeHandler.programa.cod_programa}">
					<f:selectItem itemValue="" itemLabel="Selecione..." />
					<f:selectItems value="#{unidadeHandler.programas}" />
					<a4j:support event="onchange" ajaxSingle="true"	action="#{unidadeHandler.actionCarregaServicos}" reRender="programa,servico"/>
					
				</h:selectOneMenu>
		
		
				<h:outputLabel for="servico" value="Servico " />
				<h:selectOneMenu id="servico" value="#{unidadeHandler.servico.cod_servico}">
					<f:selectItem itemValue="" itemLabel="Selecione..." />
					<f:selectItems value="#{unidadeHandler.servicos}" />
				</h:selectOneMenu>

hehehe:D de repente, assim fica mais fácil achar meu erro...

Leozin

não deu certo a tentativa? :frowning:

L

Tente trocar o mlike pelo EQ igual ja falaram…

eu nao gosto muito do postgres por causa desses erros de conversão, que sempre deixam a gente louco…

Kleber-rr

BLZ Leozin, meu amigo. DEU CERTO!! Era realmente esse o problema!!
Eu vou dar uma estudada em criteria pra naum apanhar mais feio assim!!

PROBLEMA RESOLVIDO!!! :stuck_out_tongue_winking_eye:
GLÓRIA AO SENHOR JESUS!!!
OBRIGADO A TODOS!

Leozin

glória senhor, glória!!!

Kleber-rr

luciene.silva:
Tente trocar o mlike pelo EQ igual ja falaram…

eu nao gosto muito do postgres por causa desses erros de conversão, que sempre deixam a gente louco…

É verdade luciene, eu não tenho quase nenhum conhecimento sobre sql, mas pelo q já andei apanhando, realmente postgresql tem muita dificuldade de conversão… mas infelizmente esse sistema é recomendado pelo Governo Federal a se usar o banco em postgre… fazer oq… :frowning:

Valeu.

Criado 15 de janeiro de 2010
Ultima resposta 19 de jan. de 2010
Respostas 18
Participantes 4