Параметры MySQL как поля, столбцы и т. Д. - PullRequest
0 голосов
/ 21 марта 2012

Сейчас я пишу динамическую функцию, которая должна извлекать некоторую информацию из базы данных 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");

Спасибо

...