yo tmb ya meti datos con comillas simple a una bd de SQL Server, pero con stored procedure desde Visual Basic, pero me marca un error al leer los datos para mostrarlos.
en:
LsQuery = "SELECT cp_inventario FROM ColectoresPolvo WHERE cp_Modelo = '" & modelo & "'"
xRecordSet.Open LsQuery, cn, adOpenStatic, adLockPessimistic
donde la variable modelo contiene "KNF-1-48/61'", o sea si se guardo la comilla simple pero al momento de leerla marca error
el Error dice:
Error '2147217900 (80040e14)' en tiempo de ejecución:
[Microsoft][ODBC SQL Server Driver][SQL Server]Comilla no cerrada antes de la cadena de carateres 'KNF-1-48/61''
Cita:
Iniciado por Al Zuwaga Bueno, Myakire ya te respondió qué es lo que hace tanto el trim como el replace, pero vayamos un poco más allá:
Cada vez que necesites "meter datos" de texto en una sentencia SQL, lo que conviene es hacer un replace de una comilla simple ' por dos de ellas seguidas '' (<-- esto no es una comilla doble como esta: ").
¿Para qué? Fijate cómo es un insert:
INSERT INTO Tabla (Apellido, Nombre) VALUES ('Pérez', 'Juan')
Ahora en vez de Juan Pérez, lo metemos a Juan O'Brian:
INSERT INTO Tabla (Apellido, Nombre) VALUES ('O'Brian', 'Juan')
La comilla simple del apellido arruina el insert. Para solucionarlo, en vez de una comilla simple se colocan dos de ellas seguidas. Luego, la BD interpretará eso como sólo una, guardando O'Brian y no O''Brian