Visual Basic - Problema con comilla simple

Life is soft - evento anual de software empresarial
 
Vista:

Problema con comilla simple

Publicado por Neji (2 intervenciones) el 17/12/2008 21:13:06
Tengo un sistema que utiliza una conexion a SQL Server 7, como ya saben en una consulta donde utilizo parametros string estos deben ir dentro de comillas simples ('),

Por ejemplo un insert utilizando un textbox donde introduzco el nombre de un establecimiento comercial

"Insert into Locales values ('" + txtNombre.Text + "')"

Si el textbox tiene como texto el nombre "Fonda La Fortuna" pues tendríamos una vista de la consulta como esta:

"Insert into Locales values ('Fonda La Fortuna')"

Hasta ahora bien, pero el problema aparece cuando en uno de estos campos incluyo alguna palabra conteniendo el caracter de comilla simple ('), por lo tanto si tengo lo siguiente me va a dar un error:

txtNombre.Text = "Junior's Bar"

"Insert into Locales values ('"+ txtNombre.Text +"')"

Pues tendría:

"Insert into Locales values ('Junior's Bar')"

Para el SQL Server es como si faltara una comilla simple pues una abre y la otra cierra pero la que está en el medio está sola así que lo considera como un error de sintáxis...

¿Hay alguna manera de evitar esto sin tener que restringir el uso de ese caracter en el textbox?

Gracias!! y Feliz Navidad!!
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:Problema con comilla simple

Publicado por P3L30N (699 intervenciones) el 17/12/2008 21:23:11
Si hombre sí, hay una manera de evitarlo y es encerrar la variable entre mas comillas, me explico con un ejemplo:

TxtNombre = Replace(TxtNombre, "'", "''")

De nada y Feliz Navidad!!
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:Problema con comilla simple

Publicado por Neji (2 intervenciones) el 17/12/2008 21:48:49
Simple como el agua... ñ_ñ

Gracias...
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:Problema con comilla simple

Publicado por Luis Alberto (8 intervenciones) el 18/12/2008 03:56:26
Hola. El problema se resuelve poniendo comilla simple dos veces. Por ejemplo: Junior''s Bar se leerá en SQL como Junior's Bar.
Sin embargo, no te recomiendo que lo utiices porque a futuro podrías necesitar trabajar con el strgin del nombre y te va a seguir dando problemas. Pero queda a tu completa discreción.

Saudos desde Guatemala!
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:Problema con comilla simple

Publicado por Santiago Hernández B (34 intervenciones) el 19/12/2008 20:59:10
Por que no la mandas directo a una vase de datos, variable y desde ahi la mandas insertar a la base de datos

Por ejemplo:

Private Datos1 as string

Datos1 = text1.text
Datos2 = text2.text

insert into TABLA (campo1, campo2) values (' " & Datos1 & " ', ' "& Datos2 &" ')

toma en cuenta que antes de las variables van ' (comilla simple), despues " (comilla doble), & , despues el dato a meter y repites lo mismo &, " (Comillas dobles), ' (comillas simple). esta cadena sirve solo si quieres meter datos de tipo cadena, si quieres meter datos de tipo numerico quitale la comilla simple y si quieres meter datos de tipo date/time sustituye las comillas por #.

Espero te haya podido ayudar en algo
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:Problema con comilla simple

Publicado por Sergio Franco (1 intervención) el 03/07/2019 18:00:48
Si el la caja de texto manejo coordenadas y necesito que me guarde la comilla simple, tamnbien me servira. o que otra opcion puedo ocupar en VB
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: 147
Ha disminuido 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

RE:Problema con comilla simple

Publicado por Juan Gilberto (323 intervenciones) el 04/07/2019 17:05:43
Yo utilizo la tabla ascii

Por ejemplo para armar un string que contenga comillas simples, hago lo siguiente :
1
2
3
Dim MiString As String
MiString = "El nombre del perro es " & Chr(34) & "Capitán" & Chr(34)
Msgbox MiString

Y el resultado sera :

El nombre del perro es 'Capitán'


Trabajas más pero la lectura del codigo es mas facil que andar contando comillas dobles y simples
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