Problemas con Método Select de DataTable

11/08/2005 - 17:49 por Carlos Durán Urenda | Informe spam
Hola al grupo

tengo un pequeño problema al extraer registros de un DataTable por medio del
metodo Select...
Estoy utilizando un filtro para un campo de texto, de la siguiente manera

Dim Dr( ) as DataRow = Tabla.Select(" ID= ' " & ValorID & " ' ")
'NOTA: la instruccion aqui la escribo con mas espacios para que se aprecie
la tilde, en realidad no los lleva

cuando ValorID es... digamos... "Coronado", no hay problema

pero cuando ValorID es ... "Canel's" , me marca error por que el apostrofe
se cierra antes de tiempo, quedando la "s" fuera de la exprsion del filtro
y marcando un error de identificador no valido

este problema yo lo resolvia en VBA con acces utilizando el caracter 34
(comillas dobles) ... de la siguiente manera

Dim Dr( ) as DataRow = Tabla.Select(" ID=" & Chr(34) & ValorID & Chr(34))

pero me marca que el Token ["] no es valido

De que otra manera puedo superar este problema?
Se que lo ideal seria evitar el uso de apostrofes, pero aun asi, me gustaria
saber si existe otra manera de manejar esta situacion

Gracias por su tiempo
Carlos Durán
 

Leer las respuestas

#1 Braulio Diez
11/08/2005 - 21:55 | Informe spam
Hola,

Este es un problema común, se ha solucionado en otros posting, pero ojo,
como dos comillas simples se puede confundir con una doble, te aconsejo que
si tienes duda copies y pegues esto en notepad:

El truco está en sustituir todas las ocurrencias de comilla simple (')
por dos caracteres de comillas simples ('') OJO !! Esto son dos caracteres no
uno !!

Así pues:

client's

quedaria como

client''s

Ojo aquí no has empleado comillas dobles, sino dos veces comillas simples,
esto le dice al SQL que eso no es un simbolo de cierre de cadena de texto si
no unas comillas simples que estás usando.

Perdona con lo pesado que soy con los "ojo !!!" es que en otra ocasión
por la confusión de comillas y dobles y repetir dos veces comillas simples,
estuvimos posteando como cinco o seis veces :-)

Espero que te haya sido de ayuda, si te quedas atrancado o no lo ves,
escribeme de nuevo. Un saludo
Braulio
/// --
/// Braulio Díez
/// Desarrollador C#
/// Málaga - España
// --


"Carlos Durán Urenda" escribió:

Hola al grupo

tengo un pequeño problema al extraer registros de un DataTable por medio del
metodo Select...
Estoy utilizando un filtro para un campo de texto, de la siguiente manera

Dim Dr( ) as DataRow = Tabla.Select(" ID= ' " & ValorID & " ' ")
'NOTA: la instruccion aqui la escribo con mas espacios para que se aprecie
la tilde, en realidad no los lleva

cuando ValorID es... digamos... "Coronado", no hay problema

pero cuando ValorID es ... "Canel's" , me marca error por que el apostrofe
se cierra antes de tiempo, quedando la "s" fuera de la exprsion del filtro
y marcando un error de identificador no valido

este problema yo lo resolvia en VBA con acces utilizando el caracter 34
(comillas dobles) ... de la siguiente manera

Dim Dr( ) as DataRow = Tabla.Select(" ID=" & Chr(34) & ValorID & Chr(34))

pero me marca que el Token ["] no es valido

De que otra manera puedo superar este problema?
Se que lo ideal seria evitar el uso de apostrofes, pero aun asi, me gustaria
saber si existe otra manera de manejar esta situacion

Gracias por su tiempo
Carlos Durán





Preguntas similares