Usuário com melhor resposta
Erro de sintaxe (operador faltando) na expressão de consulta

Pergunta
-
Bom dia,
Estou com um problema desconhecido por mim. Criando um projeto em VB.NET(Visual estúdio 2013) onde estou usando banco Access(2013), a questão é que quando eu faço mais de um inner join ele da um erro no OleDbDataReader informando que (Erro de sintaxe (operador faltando) na expressão de consulta 'p.idpessoa = u.idpessoa inner join lea_aluno a on u.idpessoa = a.idpesso'.).
Dim dr As OleDbDataReader
conexao.Open()
Dim query As String = "select p.idpessoa, p.nome, p.sobrenome, p.nomecompleto, p.sexo, p.datanascimento, p.rua, p.numero, p.bairro, p.cidade, p.cep, p.estado, p.telefone, p.celular, p.email, p.facebook, p.instagram, p.twitter, u.idusuario, u.login, u.senha from lea_pessoa p inner join lea_usuario u on p.idpessoa = u.idpessoa inner join lea_aluno a on u.idpessoa = a.idpessoa where u.login ='" & objUsuario.Login_Property & "' and u.senha = '" & objUsuario.Senha_Property & "'"
Dim comando As New OleDbCommand(query, conexao)
dr = comando.ExecuteReader()Não sei se deu pra perceber que o OleDbDataReader corto um pedaço do meu select. Parte do código:
Da essa força ai gente perdi mais de 6 horas já e não encontro a solução.
Respostas
-
o único problema que vejo e a falta dos parenteses para agrupar os joins:
Dim query As String = "select p.idpessoa, p.nome, p.sobrenome, p.nomecompleto, p.sexo, p.datanascimento, p.rua, p.numero, p.bairro, p.cidade, p.cep, p.estado, p.telefone, p.celular, p.email, p.facebook, p.instagram, p.twitter, u.idusuario, u.login, u.senha from (( lea_pessoa p inner join lea_usuario u on p.idpessoa = u.idpessoa ) inner join lea_aluno a on u.idpessoa = a.idpessoa ) where u.login ='" & objUsuario.Login_Property & "' and u.senha = '" & objUsuario.Senha_Property & "'" Dim comando As New OleDbCommand(query, conexao) dr = comando.ExecuteReader()
Natan
- Sugerido como Resposta Cesar Cassiano Schimanco quarta-feira, 10 de fevereiro de 2016 14:35
- Marcado como Resposta Hudson S. Carlos quarta-feira, 10 de fevereiro de 2016 19:29
Todas as Respostas
-
o único problema que vejo e a falta dos parenteses para agrupar os joins:
Dim query As String = "select p.idpessoa, p.nome, p.sobrenome, p.nomecompleto, p.sexo, p.datanascimento, p.rua, p.numero, p.bairro, p.cidade, p.cep, p.estado, p.telefone, p.celular, p.email, p.facebook, p.instagram, p.twitter, u.idusuario, u.login, u.senha from (( lea_pessoa p inner join lea_usuario u on p.idpessoa = u.idpessoa ) inner join lea_aluno a on u.idpessoa = a.idpessoa ) where u.login ='" & objUsuario.Login_Property & "' and u.senha = '" & objUsuario.Senha_Property & "'" Dim comando As New OleDbCommand(query, conexao) dr = comando.ExecuteReader()
Natan
- Sugerido como Resposta Cesar Cassiano Schimanco quarta-feira, 10 de fevereiro de 2016 14:35
- Marcado como Resposta Hudson S. Carlos quarta-feira, 10 de fevereiro de 2016 19:29
-