Foros del Web » Programación para mayores de 30 ;) » .NET »

consulta sql y acentos

Estas en el tema de consulta sql y acentos en el foro de .NET en Foros del Web. Hola a todos; Tengo el siguiente problema. Hago una búsqueda en una base de datos access utilizando como parámetro un campo que recojo con request.querystring ...
  #1 (permalink)  
Antiguo 18/08/2004, 01:38
Avatar de luiscl  
Fecha de Ingreso: abril-2004
Ubicación: Zaragoza
Mensajes: 305
Antigüedad: 20 años
Puntos: 0
consulta sql y acentos

Hola a todos;

Tengo el siguiente problema. Hago una búsqueda en una base de datos access utilizando como parámetro un campo que recojo con request.querystring de otro formulario. Este campo es de texto, y lleva acentos (es una provincia).

Si la provincia es ZARAGOZA, no hay problema. Pero si es ÁLAVA, no encuentra resultados coincidentes, pese a que tanto el parámetro como el registro están con acentos.

El parámetro lo paso así a la consulta:

dadcasasC.SelectCommand.Parameters.Add(New OleDbParameter("@provincia", OleDbType.VarChar, 50))
dadcasasC.SelectCommand.Parameters("@provincia").V alue = Server.HtmlEncode(Session.Item("provincia"))

A ver si se nos ocurre algo!!!

Un saludo.
__________________
Pide lo que quieras...y luego paga por ello
  #2 (permalink)  
Antiguo 18/08/2004, 01:39
Avatar de luiscl  
Fecha de Ingreso: abril-2004
Ubicación: Zaragoza
Mensajes: 305
Antigüedad: 20 años
Puntos: 0
Ah, aquí utilizo una variable session porque he probado a ver si el problema está en que pasaba el parámetro con un label (Server.HtmlEncode(lbldrprovincia.text))...tampoco funciona.
__________________
Pide lo que quieras...y luego paga por ello
  #3 (permalink)  
Antiguo 18/08/2004, 01:47
Avatar de SunDarK  
Fecha de Ingreso: diciembre-2003
Ubicación: Jerez de la Frontera
Mensajes: 1.193
Antigüedad: 20 años, 5 meses
Puntos: 8
Como solución alternativa,porque digo yo que las habrá mas simples y eficientes,se me ocurre el hacer una función que le pases el parametro,lo separe por letras y con un select case de las vocales con acentos las cambies a vocales sin acento,algo asi
Cita:
Private Function CambiarParametro(ByVal parametro as string)
Dim caracter as char
Dim parametrofinal as string
For each (caracter en la palabra)
caracter= 'a un caracter de la palabra
Select case caracter
Case "á"
caracter= "a"
parametrofinal = parametrofinal & caracter
Case "é"
'Y asi con las 5 vocales
Default
'Por si es una consonante pues pones que la concatene con parametrofinal y ya está
Next
'Al final devolvemos el parametro pero sin acentos
Return parametrofinal
End Function
'Y ya lo recoges y haces la busqueda normal
La función no estará bien porque lo he hecho de memoria,como ya sabes aqui en el hospital no tengo el VS.NET 2003 :(,pero la idea es esa.
Espero que te pueda servir,un saludo y ya me contaras
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:55.