Сейчас я пишу динамическую функцию, которая должна извлекать некоторую информацию из базы данных MySQL.
Теперь эта функция принимает два параметра (один является ключом, другой - его значением).
public Member GetUser(string Key, string Value)
{
using (Storage.Client Client = Environment.Storage.GetClient())
{
Client.SetParameter("key", Key);
Client.SetParameter("value", Value);
DataRow Row = Client.ReadRow("SELECT * FROM members WHERE ?key = ?value LIMIT 1");
return new Member(Row);
}
}
Как видите, я намереваюсь написать одну функцию, чтобы получить пользователя из базы данных, задающего только два параметра (и, таким образом, не писать функцию для каждого столбца таблицы).
Это делает все более динамичным и простым.
Но есть проблема: кажется, что я не могу использовать параметры в качестве значения полей в запросе MySQL, так что «? Key» недопустим.
Буду признателен за любые предложения, но, пожалуйста, не предлагайте мне что-то вроде следующего, потому что мне это не очень нравится:
DataRow Row = Client.ReadRow("SELECT * FROM members WHERE" + Key + " = ?value LIMIT 1");
Спасибо