none
Onde está o erro? RRS feed

  • Pergunta

  • Pessoal,

    Sou novo em C# e estou tendo o seguinte erro ao tentar realizar uma consulta no mysql:

    Minha query:

       class Previsao
        {
            private string Fornecedor;
            private string Vencimento;
            private string Valor;
            private readonly Conexao conectar;

            public Previsao()
            {
                this.conectar = new Conexao();

            }

            public MySqlDataReader ListarPrevisoes()
            {
               return this.conectar.Query("SELECT p.nome,_" +
                                                        " v.vencimento,_" +
                                                        " v.valor_" +
                                        " FROM   pessoa p_" +
                                               " INNER JOIN pedido pd_" +
                                                       " ON p.idpessoa = pd.fornecedor_" +
                                               " INNER JOIN pedvenc v_" +
                                                       " ON v.idpedido = pd.idpedido_" +
                                        " WHERE  v.vencimento_   BETWEEN '2021-06-01' AND '2021-06-30'_" +
                                               " AND pd.cnsstatus = 'PREVFIN'_" +
                                               " AND pd.cnscanmom IS NULL_" +
                                               " ORDER  BY nome ASC ");
            }

            public string Fornecedor1 { get => Fornecedor; set => Fornecedor = value; }
            public string Vencimento1 { get => Vencimento; set => Vencimento = value; }
            public string Valor1 { get => Valor; set => Valor = value; }

    Erro Classe conexão:


    quarta-feira, 23 de junho de 2021 18:54

Respostas

Todas as Respostas

  • v e v_ são nomes diferentes na sua query.
    • Marcado como Resposta Rodrigo Rx3Info sexta-feira, 23 de julho de 2021 18:12
    sábado, 10 de julho de 2021 22:54
  • Olha a sua query sem as aspas de concatenação:

    SELECT p.nome,_
    v.vencimento,_
    v.valor_
    FROM   pessoa p_
    INNER JOIN pedido pd_
    ON p.idpessoa = pd.fornecedor_
    INNER JOIN pedvenc v_
    ON v.idpedido = pd.idpedido_
    WHERE  v.vencimento_   BETWEEN '2021-06-01' AND '2021-06-30'_
    AND pd.cnsstatus = 'PREVFIN'_
     AND pd.cnscanmom IS NULL_
    ORDER  BY nome ASC


    Você está colocando underline depois de cada vírgula e antes de cada fechamento de aspas, pra que isso???

    O que parece mais certo seria isso aqui

    SELECT p.nome, 
    v.vencimento,
    v.valor FROM pessoa p INNER JOIN pedido pd ON p.idpessoa = pd.fornecedor INNER JOIN pedvenc v ON v.idpedido = pd.idpedido WHERE v.vencimento BETWEEN '2021-06-01' AND '2021-06-30' AND pd.cnsstatus = 'PREVFIN' AND pd.cnscanmom IS NULL ORDER BY nome ASC

    Lembrando que o BETWEEN exibe só o que está entre as pontas das datas que você informou,tipo "Maior que..." e "Menor que...", não inclui os valores das pontas, que seria "Maior ou Igual a..." e "Menor ou igual a..."


    terça-feira, 13 de julho de 2021 17:38