Lamentablemente, no tienes como resolver este problema, dado que la sintaxis de una instruccion SQL, contempla el caracter ' (comilla simple) como caracter de inicio y termino de una cadena de caracteres, por lo que, si tu dato, contiene este caracter en alguna posicion, el analizador SQL encuentra un error, que es lo que te esta ocurriendo.
La solucion, pasa justamente como lo resolviste. Tu alternativa, es cambiar el caracter ' (comilla simple) por " (doble comilla), al momento de grabarla, si no tienes que reversar al momento de recuperar. Es solo una sugerencia a lo que tienes.
En todo caso, debes tener cuidado, que dependiendo del motor de datos, la sintaxis puede ser ' o ". Por ejemplo, SQL Server, puedes usar ', ya que el caracter separador de cadenas es la doble comilla. En Oracle, el separador es '. Y asi.
Espero te sirva...