SQL-запросы в файле aspx.cs (бэкэнд) - PullRequest
1 голос
/ 02 марта 2011

Можно ли написать SQL предложения в серверной части?

Вы знаете, что при создании динамического сайта всегда будет множество предложений SQL. мне было интересно, можно ли было просто иметь 2-3 SQL-запроса в файле класса, а остальные записать в серверную часть?

Может быть, так.

public DataTable SelectAllFrom(string query)
    {
        string query = @"SELECT * FROM ?query";

        using (var cmd = new MySqlCommand(query))
        {
            cmd.Parameters.Add("?query", MySqlDbType.VarChar).Value = query; 
            return objConn.getData(cmd);
        }
    }

И ПОТОМ в коде:

    string query = "tblAA WHERE fldAA=1";
    var list = _objMethods.SelectAllFrom(query).Rows;

Ответы [ 3 ]

2 голосов
/ 02 марта 2011

Отключение SELECT * FROM на самом деле не спасет вас от повторений и доставит вам неприятности, если, скажем, вы не хотите SELECT * из-за объединений или эффективности.избегать повторений в коде замечательно, и хорошо бы изолировать механизм выполнения запроса от самого запроса.Но это слишком сложно.В целом вместо этого посмотрите на ORM.

0 голосов
/ 02 марта 2011

Вы можете сделать это, но это не очень хорошая практика.Чем более распространены ваши запросы и чем больше SQL-кода вы смешиваете с вашим кодом презентации и бизнес-логики, тем сложнее его поддерживать.Ваш вопрос звучит так, как будто вы работаете с некой многоуровневой / многоуровневой архитектурой, которая существует по очень веским причинам.Я бы постарался не перетекать ваш код с SQL без какой-либо организации;это может быть быстро и легко в краткосрочной перспективе, но может привести к проблемам позже.

0 голосов
/ 02 марта 2011

Вы могли бы сделать что-то подобное, но это усложняет обслуживание, когда запрос разбит по объектам. Добавьте, что у вас есть объединения и, возможно, вы не захотите также включать запросы на присоединение. Личное хранение запросов имеет смысл и сохраняет ответственность за один уровень.

Кроме того, вы можете создать помощника для упрощения процесса обработки объекта базы данных.

НТН.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...