Недавно я изменил некоторые программы на C #, чтобы добавить правильную параметризацию в некоторые операторы MySQL, которые изначально были написаны с помощью сцепленных строк.Неизменно, я сталкивался с некоторыми проблемами с моими утверждениями, и я не могу найти способ непосредственно увидеть полный оператор MySQL с примененными параметрами, отличными от этого временного решения, которое у меня есть, где я передаю команду MySQL этому:
private string getMySqlStatement(MySqlCommand cmd)
{
string result = cmd.CommandText.ToString();
foreach (MySqlParameter p in cmd.Parameters)
{
string addQuote = (p.Value is string) ? "'" : "";
result = result.Replace(p.ParameterName.ToString(), addQuote + p.Value.ToString() + addQuote);
}
return result;
}
Это работает, но мне было интересно, есть ли более правильный способ увидеть полный оператор с примененными параметрами.Читая об этом, похоже, что параметры на самом деле не применяются, пока не достигнет сервера - это правильно?В этом случае, я полагаю, я могу придерживаться своей функции выше, но я просто хотел узнать, есть ли лучший способ сделать это.
Примечание: я просто использую эту функцию для целей отладки, чтобы я могсм. оператор MySQL.