Visual Basic - Comillas simples?

Life is soft - evento anual de software empresarial
 
Vista:

Comillas simples?

Publicado por RobertoM (21 intervenciones) el 09/08/2003 19:16:04
Por favor:
Uso una conexión ADODB a Access 2000 y un Recordset de donde leo unos datos .
Al ejecutar:
CN.EXECUTE "INSERT INTO mitabla (nombre) VALUES (" & rs!name & "');"
Me da un error de sintaxis (falta operador) en la expresidn de consulta.
Esto se debe a que el rs!name contiene un apellido que contiene una comilla simple: D'ANGELO .
Cómo puedo hacer para grabar esta clase de cadenas que contienen comillas simples.
Gracias por las sugerencias.
Roberto
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:Comillas simples?

Publicado por Esteban (1144 intervenciones) el 09/08/2003 20:58:46
CN.EXECUTE "INSERT INTO mitabla (nombre) VALUES (""" & rs!name & """);"

Intenta este truco, me ha funcionado...
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:Comillas simples?

Publicado por RobertoM (21 intervenciones) el 09/08/2003 23:03:26
Gracias Esteban
Tu sugerencia funcionó perfectamente. Ahora el problema es cuando tengo datos con comillas dobles. Por ejemplo: Empresa "El Foro", en estos casos sale el mismo error que cuando usaba comillas simples como delimitador.
Gracias nuevamente y disculpa la reiteración de este problema.
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:Comillas simples?

Publicado por maCo (322 intervenciones) el 09/08/2003 23:52:45
cuando quieras usar doble comillas en literales, pones dos comillas.
ej:
call msgbox(" ""hola"" ") --> las dos comillas actuan como una sola.
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:Comillas simples?

Publicado por Cecilia Colalongo (3116 intervenciones) el 10/08/2003 00:15:25
Puedes utilizar un ADO Command y solucionas todos los inconvenientes de comillas simples, dobles y mezclas de ambas:

Dim cmd As Command

Set cmd.ActiveConnection=cn

cmd.CommandText="INSERT INTO MiTabla VALUES (?)"
cmd.Parameters.Append cmd.CreateParameter "MiValor",adVarchar,20

cmd.Parameters.Item("MiValor").Value="D'ANGELO"

cmd.Execute
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:Comillas simples?

Publicado por RobertoM (21 intervenciones) el 10/08/2003 00:41:55
Muchisimas gracias a todos por las sugerencias.
He probado todas y encontré una que soluciona mi problema al 100% y que comparto con Uds.

CN.EXECUTE "INSERT INTO mitabla (nombre)
VALUES (' " & REPLACE(rs!name," ' "," '' ") & "');"

o sea reemplazo la comilla simple por 2 comillas simples.
Al procesar la instrucción se eliminan las 2 comillas simples y se graban como si tuvieran solo una, algo así:
Inicialmente era D'angelo, después del replace queda como D''angelo (ojo: son 2 comillas simples juntas, no comillas dobles)

Gracias
Roberto
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