Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

d.eleete

Problemas com Data Type e "LIKE"

Recommended Posts

Salve gente....

 

Seguinte

 

Essa query funciona normal localmente:

sql = "SELECT codigo, razao FROM clientes WHERE codigo LIKE '"&vPrincipal&"' "
Mas quando mando ela para o servidor remoto com iis4.0 ela retorna o seguinte erro:

 

Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][ODBC Microsoft Access 97 Driver] Data type mismatch in criteria expression.

Resumindo, o banco não aceita o caracter... pq o campo no banco é numérico (Inteiro Longo)

 

Agora vou mostrar como estou pegando a variavel vPrincipal

 

vTipo = request.querystring("txtby")if vTipo = "cod" and Isnumeric(vPrincipal) thenvPrincipal = int(vPrincipal)end if
Neste caso eu dou um request na querystring.. e se ela for numérica ela irá se tornar um número inteiro...

Ou seja, se o cara digitar 0000000001 . . a variavel vPrincipal ficará como 1

 

 

Eu só não entendo pq está dando erro no LIKE... :D sendo q aqui no iis 5.1 funfa normal!

 

Valeu desde já!

Compartilhar este post


Link para o post
Compartilhar em outros sites

HÁ QUANTO TEMPO...OLHA O PROBLEMA DEVE SER NO LIKE.VOCÊ NÃO PRECISA UTILIZAR ASPAS SIMPLES ' PARA CONTORNAR A VARIÁVEL.ASPAS SIMPLES NO LIKE SÓ SERVEM PARA VARIÁVEIS DE STRING OU DATA.POR ISSO QUE O DATA TYPE É INCOMPATÍVELTENTE TIRAR AS ASPAS

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala rapaz, fmz?Comigo ja aconteceu muito desse tipo de erro, não só com o Like mas com Select, Update, Insert, ....O problema parece ser no tipo de valor mesmo. Em você uso o CInt, CStr, CBool,... oq você pode fazer pra testar e ver se o erro é d tipo de variável mesmo é tirar aquela variável e colocar um "LIKE" que tenha na sua seleção... mais simples.. coloca um valor exato e não uma variável... tire as aspas e deixe assim +/-sql = "SELECT codigo, razao FROM clientes WHERE codigo LIKE 'abc' "Uma sugestão

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois é eu tentei! Imaginei em deixar somente com aspas duplas (pra numero), mas não funcionou.. deu outro erro . . mas eu coloquei em vez do "LIKE" o "=" . . . é uma gambiarra, mas por enqto eh obrigatorio o script retornar apenas 1 valor.. então o "=" quebra o galhoMuito valeuzao msm.. brigado galera!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só uma pergunta:você já tentou fazer a query somente assim?: sql = "SELECT codigo, razao FROM clientes WHERE codigo LIKE "&vPrincipal

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só uma pergunta:você já tentou fazer a query somente assim?: sql = "SELECT codigo, razao FROM clientes WHERE codigo LIKE "&vPrincipal

Então man.. eu mandei pro server e funcionou, mas eu anotei sim sua dica... pq caso eu precise retornar mais de um registro eu vou usar isso!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.