Visual Basic - Caracter especial y SQL

Life is soft - evento anual de software empresarial
 
Vista:

Caracter especial y SQL

Publicado por Juan Pablo (3 intervenciones) el 11/10/2006 20:09:35
Tengo un problema resulta que tengo una cadena y pues a veces puede llevar un caracter especial y la estoy pasando esa cadena a una bd y uso sql para agregarla a la BD

ejem

sql = "INSERT INTO bd (campo1) values ( '" & cadena & "' )

pero asi no me sale , sale un error en la consulta por que toma el caracter especial como algo de sql.

Espero Su ayuda Gracias!!!
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
sin imagen de perfil
Val: 119
Ha disminuido 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

RE:Caracter especial y SQL

Publicado por chris (713 intervenciones) el 11/10/2006 20:15:51
en realidad creo que tendrias que cambiar ese caracter especial en la base hay una funcion en visual llamada replace fijate
suerte amigo
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:Caracter especial y SQL

Publicado por Juan Pablo (3 intervenciones) el 11/10/2006 20:46:35
creo que no me explique la cadena es la que paso a la bd , para el paso de esa cadena a la bd en donde la quiero guardar, y con la sentencia sql es donde se lo paso quiero que no me tome ese caracter especial sql

Ejem:

Cadena= "Macdonald's"

sql = "INSERT INTO bd (campo1) values ( '" & Cadena & "' )

si notan en macdonald`s lleva una ' esa la toma sql como un caracter especial no quiero que me la tome como un caracter especial!!

Saludos!!
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:Caracter especial y SQL

Publicado por Pere (150 intervenciones) el 11/10/2006 22:12:37
Yo utilizo la siguiente función que sustituye el carácter apóstrofe ( ' ) por el acento ( ´ ). De esta forma no hay problema con SQL
La llamo así:

cadena = "Macdonald's"

cadena= Utilidad.BuscaCambia(cadena, "'", "´", 0)

sql = "INSERT INTO bd (campo1) values ( '" & Cadena & "' )

Public Function BuscaCambia(ByVal VarString As String, ByVal Cadena1 As String, ByVal cadena2 As String, ByVal ParaYa As Integer) As String

Dim I%, CarFinal%, PosActual%, PosSiguiente%, PosFinal%, VarAuxiliar$
If ParaYa > 0 Then
CarFinal = ParaYa
Else
CarFinal = Len(VarString)
End If
VarAuxiliar = VarString
PosSiguiente = 0
PosSiguiente = InStr(PosSiguiente + 1, VarAuxiliar, Cadena1)
Do Until (PosSiguiente = 0) Or (PosSiguiente > CarFinal)
VarAuxiliar = left(VarAuxiliar, PosSiguiente - 1) & cadena2 & _
right(VarAuxiliar, (Len(VarAuxiliar) - Len(Cadena1) - (PosSiguiente - 1)))
CarFinal = CarFinal - Len(Cadena1) + Len(cadena2)
PosSiguiente = 0
PosSiguiente = InStr(PosSiguiente + 1, VarAuxiliar, Cadena1)
Loop
BuscaCambia = VarAuxiliar
End Function

P.D. Esta función es propósito generas, puesdes sustituir cualquier carácter por el que quieras.

Espero te sirva
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
Val: 119
Ha disminuido 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

RE:Caracter especial y SQL

Publicado por Christian (713 intervenciones) el 12/10/2006 00:51:54
esta entendido lo que pretendes , pero me parece que no queda otra que reemplazarlo , al menos para agregarlo a la base de datos y cuando lo vuelvas a mostrar en tu aplicacion lo reemplazas con el original , me explico? por eso la funcion replace que viene con visual basic , podes usar la que te mandaron en la otra respuesta si queres , pero me parece mas facil y entendible la primera

saludos
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