Лучшая практика быстрого чтения SQL из БД в Sharepoint для значения настроек - PullRequest
2 голосов
/ 06 января 2012

У меня есть следующий код, который я использую, чтобы подобрать несколько быстрых настроек для небольшого настраиваемого элемента управления, который используется с разбивкой каждый месяц.

Я беспокоюсь, что это не самый лучший и самый быстрый подход, который будетиспользовать наименьшее количество ресурсов.

Могу ли я попросить кого-нибудь оценить мои высказывания и предположительные улучшения?

    public String getSettingVariable(string keyName)
    {
        var keyValue = String.Empty;
        SPSecurity.RunWithElevatedPrivileges(delegate
        {
            string strConn = ConfigurationManager.ConnectionStrings["IntFTRDB"].ConnectionString;
            using (SqlConnection sqlConn = new SqlConnection(strConn))
            {
                if (sqlConn != null || sqlConn.State != ConnectionState.Open) sqlConn.Open();
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = sqlConn;
                cmd.CommandType = CommandType.Text;
                cmd.CommandText = "Select distinct Value where Name = @name";
                cmd.Parameters.Add("@name", SqlDbType.NVarChar);
                cmd.Parameters["@name"].Value = keyName;
                keyValue = (String)cmd.ExecuteScalar();
            }
        });
        return keyValue;
    }

1 Ответ

0 голосов
/ 06 января 2012

Сколько вызовов sql у вас в приложении? Если только один или несколько, то подход, который вы используете, подойдет. Если ваше приложение планирует выполнить несколько (100 с) вызовов в базе данных, тогда потребуется более элегантное решение, например создание слоя доступа к данным или использование ORM.

Использование using для автоматического удаления соединения и параметризованного вызова sql вполне допустимо.

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