трудно дать вам конкретный ответ, потому что вы не перечислите базу данных или язык приложения, которые вы используете.
Вы должны строить свой SQL динамически, и кавычка внутри строки интерпретируется как конец строки. В зависимости от базы данных, которую вы используете, вам нужно экранировать одинарные кавычки в каждой строке, которую вы собираетесь использовать в своей команде sql. Это можно увидеть, напечатав ваш запрос, прежде чем пытаться его запустить.
Вы не упоминаете приложение, из которого вызываете базу данных, но при сборке вашей команды вам нужно использовать команду FIX_QUOTES (), которую вы пишете или если она предоставляется вашим языком:
SqlCommand com = new SqlCommand("UPDATE Questions SET Question = '[" + FIX_QUOTES(tbQuestion.Text) + "]', Answer = '[" + FIX_QUOTES(tbAnswer.Text) + "]', LastEdit = '" + FIX_QUOTES(CurrentUser.Login) + "'WHERE ID = '" + FIX_QUOTES(CurrentQuestion.ID) + "'"); – A
Этот тип динамического запроса очень прост для атаки sql-инъекцией . Я бы рекомендовал вызывать базу данных с помощью хранимой процедуры или списка параметров.