Visual Basic - Expertos: Uso de Ampersand y Apostrofe

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

Expertos: Uso de Ampersand y Apostrofe

Publicado por Cesar (39 intervenciones) el 09/05/2002 20:08:38
Tengo una aplicación en VB6 usando una base de datos de Access y cada vez que en un campo de texto se agrega algo con ampersand o apostrofe el programa manda un error. Ejemplo: AT&T ó PLC's

Actulmente lo manejo con una secuencia de error ON ERROR, pero supongo que ha de haber otra opción. Se que esos caractéres se utilizan como comandos dentro del lenguaje, pero debe de haber una manera de que no afecten sin tanto error.

GRACIAS por tu ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Expertos: Uso de Ampersand y Apostrofe

Publicado por mendru (43 intervenciones) el 10/05/2002 00:07:40
En principio no debería de producirse el error, salvo que utilices esa cadena dentro de una consulta SQL. Si ese es el caso, deberías de aislar la cadena, con respecto al resto de la sentencia SQL mediante comillas (chr(34)).
ejemplo:
"SELECT * FROM MiTabla WHERE MiValor=" + chr(34) + LaCadena+ chr(34)

Digo, yo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Expertos: Uso de Ampersand y Apostrofe

Publicado por Cesar (39 intervenciones) el 10/05/2002 00:21:14
En realidad no es que yo lo indique. El problema surge cuando llamo un campo donde exista un apostrofe Ejemplo

Data1.recordset.addnew
Data1.recordset("Campo") = "Muestra's"
Data 1.recordset.update

Si hago un While - Wend, cuendo encuentre el campo con el texto Muestra´s que está guardado así en mi base de datos, entonces mandará el error.

¿Que opinas?

Gracias por tu ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Expertos: Uso de Ampersand y Apostrofe

Publicado por Al (4 intervenciones) el 10/05/2002 02:01:18
Usa esta función para tales problemas:

Public Function TextoenSQL(ByVal sValue As String) _
As String
Dim sTxt As String
sTxt = Replace(sValue, Chr(39), "''")
sTxt = "'" & sTxt & "'"
TextoenSQL = sTxt
End Function

Y lo llamas en tus consultas asi:

"Select * from tabla where rtrim(tabla.campo)=" & CadenaenSQL(text1.text)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar