none
Microsoft OLE DB Provider para erro SQL Server '80040e14' RRS feed

  • Pergunta

  • Gostaria de saber porque quando tento imprimir um cartela de vale transporte  e pede pra colocar minha data de nascimento e depois aparece isso.

    Microsoft OLE DB Provider para erro SQL Server '80040e14'

    O nome da coluna ou o número de valores fornecidos não corresponde à definição da tabela.

    /passe/controleFreq.htm , linha 378


    quarta-feira, 24 de maio de 2017 12:21

Respostas

  • Boa tarde marilyzi lima,

    Essa thread aqui tem uma explicação bem bacana sobre sua dúvida

    Esse erro é tipico quando se monta uma string SQL e joga numa variável. Então quando o interpretador tenta "compilar" essa string, a string tá com algum dado faltante ou errado, e causa o erro. Algo como:

    Var = "Select * From Tabela Where Campo = '" & PARAM & "'"

    Dentro de PARAM tem uma virgula, ou Aspas Simples, ou caracteres não aceitos pelo TRANSACT-SQL. Assim: PARAM = "algumacoisa,' coisa"

    O que ocorre que as vezes dá certo e outras não? É que essa StringSQL, Var, está sendo construída dinamicamente, ou seja, através de dados informados pelo usuário, por meio de um campo de formulário, ou através de uma passagem de parametro pela URL (QueryString), e que atribui a variável PARAM para concatenar a StringSQL, ao final. 

    Numa máquina dá certo, pois esse dado foi informado corretamente. Então, a variável PARAM contém dado válido. E em outras ocorre erro, pois o dado está errado, ou seja, com caracteres não permitidos, como citado.

    Só quando o Browser é fechado, a sessão e URL limpas é que o erro não ocorre, pois, dessa vez, a dado poderia ter sido informado corretamente.

    Verifique no momento em que é montado a StringSQL, deve ter algo errado na montagem dela.

    espero ter sido claro.


    Att., Roberto Alves

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    terça-feira, 30 de maio de 2017 20:29