Я пытаюсь исправить ошибку в кавычках в коде:
std::string Index;
connection->Open();
String^ sTableName = gcnew String(TableName.c_str());
String^ insertstring = String::Format("INSERT INTO {0} (idx, rec, date) VALUES (@idx, @rec, getdate())", sTableName);
SqlCommand^ command = gcnew SqlCommand(insertstring, connection);
String^ idx = gcnew String(Index.c_str());
command->Parameters->Add("@idx", SqlDbType::VarChar)->Value = idx;
Ошибка в том, что если idx = "that", SQL завершается ошибкой, говоря о синтаксической ошибке. Очевидно, проблема в цитате.
Но некоторые поиски в Google показывают, что использование параметров - это способ работы с кавычками. И SqlParameter работает хорошо, если type это TEXT, а не VARCHAR.
Есть какие-либо решения, кроме ручного удвоения количества символов кавычек в строке?
Обновление: я попытался вручную отредактировать это поле в SQL Management Studio, и в поле VARCHAR не было одинарных кавычек. Это нормально в SQL?