7 votos

¿Consulta una cadena en Arcobjects que tiene una comilla simple en él?

Estoy tratando de consulta de valores por medio de un cursor y lazo para el proceso de extracción de los signos diacríticos. El problema que yo postulo es que cuando intento crear un WhereClause como así...

qf.WhereClause = "\""+fieldname+"\" = "+"'"+address+"'";

Tengo un COMException sobre mi consulta si el valor de la dirección de una sola cita en ella (es decir, Land o'Lakes). He tratado de escapar de la ' address.Replace("'","\'") , pero la cadena resultante es igual. Cuando me trató de doble escape con address.Replace("'","\\'") , la cadena termina con ambas barras diagonales inversas.

¿Qué debo hacer?

8voto

theman_on_osx Puntos 192

Creo que podría importa qué tipo de origen de datos está afectando, pero en general sospecho que duplicar las comillas solo es la solución. Dirección así. Reemplazar ("'", "''"); debería funcionar.

5voto

user2923 Puntos 21

También puede usar códigos de caracteres ASCII mediante la función Char(). El código ASCII para la comilla simple es 39 y el código de comillas dobles es 34. Utilizando Char(39) volverá '.

Así que se podría decir:

qf.WhereClause = "\""+fieldname+"\" = "+Char(39)+address+Char(39);

Aquí hay un enlace a una lista de códigos ASCII: http://yorktown.cbe.wwu.edu/sandvig/shared/ASCIICodes.aspx

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X