Вот мой код ... Он отлично работает для входных данных, у которых нет отдельной цитаты, но когда я ввожу одну цитату и пытаюсь отправить ее сбой. Я пробовал много примеров кода, и это должно сработать. Любая помощь будет оценена по достоинству.Когда я запускаю параметризованный запрос C# для обработки одиночных кавычек, он по-прежнему выдает ошибку исключения для одной кавычки. Как я могу сделать эту работу?
string SQLcommand = "UPDATE FirearmTracking SET LastName='"
+ @custData[2] + // lastName
"', CitationNum='" + custData[1] + // citation
"', FirstName='" + custData[3] + // firstname
"', MiddleInitial='" + custData[4] + // mi
"' WHERE EventNum = '" + @custData[0] + // eventNum
"' ";
// Create a new table
DataTable FirearmTracking = new DataTable();
// Grab the Connection String
SqlConnection conn = Connections.GetDataFromDB();
// Create a SqlCommand object
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = SQLcommand;
cmd.Parameters.AddWithValue("@LastName", custData[2]);
try
{
conn.Open();
cmd.ExecuteNonQuery();
}
catch (Exception)
{
throw new Exception("Data Layer - Customer Error...");
}
finally
{
conn.Close();
}
return null;
использование параметров. Не конкатенация строк. Период. –
Либо использовать параметры, либо преобразовать их в хранимую процедуру, это довольно грязно в текущем состоянии и подвержено SQL Injection – MethodMan
Кроме того, это не «параметр с параметрами C#». Это может быть «SQL Server Parameterized Query», но сам запрос не имеет ничего общего с C#. То, как вы это делаете, - плохая идея в языке _any_. –