Erro na execução SQL

6 respostas
thiagovl

Pessoal bom dia,

Estou executando um comando aqui no netbeans no executeSql, o banco é acess, estou buscando uma informação usando INNER Join mais nao estou conseguindo segue o codigo

con.executeSQL = (SELECT cadsocio.matricula,cadsocio.nome,cadsocio.data_admi,cadsocio.motivo,cadsocio.data_del,cadfinan.parc_valor
FROM cadsocio
INNER JOIN cadfinan
ON cadsocio.matricula = cadfinan.matricula
WHERE matricula = ‘300’);

O que pode ser ?

6 Respostas

lazaropj

matricula é uma String?

pq se for int…

tira as aspas !!!

thiagovl

Lazaro é do tipo String sim

esse access pra banco de dados é só por Deus mesmo !!!

fredferrao

thiagovl:
Lazaro é do tipo String sim

esse access pra banco de dados é só por Deus mesmo !!!

E pra que tu ta usando isto entao??

Se voce colou exatamente como esta no seu codigo fonte então ta errado, o executeSQL deveria receber uma string como parametro, neste caso esta faltando as aspas duplas.
Outra coisa, tu nao postou o erro, ai fica mais dificil tambem.

E por ultimo, use preparedStatement.

lazaropj

thiagovl:
Pessoal bom dia,

Estou executando um comando aqui no netbeans no executeSql, o banco é acess, estou buscando uma informação usando INNER Join mais nao estou conseguindo segue o codigo

con.executeSQL = (SELECT cadsocio.matricula,cadsocio.nome,cadsocio.data_admi,cadsocio.motivo,cadsocio.data_del,cadfinan.parc_valor
FROM cadsocio
INNER JOIN cadfinan
ON cadsocio.matricula = cadfinan.matricula
WHERE matricula = ‘300’);

O que pode ser ?

Cara… no seu WHERE, parece q está faltando o cadfinan…
vc só passou a matricula…
tenta colocar
cadfinan.matricula

abraço

thiagovl

cara é o seguinte eu to fazendo um teste de relatório qualquer instraução de sql q eu passo para ele funfa normal, só q eu estou precisando consultar um outro campo de outra tabela, e o maior problema é esse ineer join

segue o codigo

public RelOmni() {
  try 
  {
      con.conecta();
      con.executeSQL("SELECT cadsocio.matricula,cadsocio.nome,cadsocio.motivo,cadsocio.data_del,cadfinan.parc_valor"+
                     "FROM cadsocio" +
                     "INNER JOIN cadfinan"+
                     "ON cadsocio.matricula = cadfinan.matricula" +
                     "WHERE cadsocio.matricula = '300485'");
    
      JRResultSetDataSource jrRS = new JRResultSetDataSource(con.resultset);
      JasperPrint jasperPrint = JasperFillManager.fillReport(
      "relatorio/relOmni.jasper", new HashMap(), jrRS);
      JasperViewer.viewReport(jasperPrint);
  } catch (Exception erro){
             JOptionPane.showMessageDialog(null,"deu erro ="+erro);
   }
}

No ireport qdo eu faço essa consulta ele me tras o relatório normal só no netbeans que nao esta indo !!!

O ERRO É ERRO DE SINTAXE (OPERADOR FALTANDO) NA EXPRESSÃO DA CONSULTA

F

Já conferiu se não está faltando espaço no início (ou fim) de cada linha? pelo menos no codigo que você postou, é esse o erro.
Acaba ficando algo:
“cadsocioINNER JOIN”
o certo seria
“cadsocio INNER JOIN”

Criado 28 de maio de 2010
Ultima resposta 28 de mai. de 2010
Respostas 6
Participantes 4