从Sharepoint中的DB快速读取SQL以获取设置值的最佳实践

时间:2012-01-06 16:37:39

标签: c# sql sql-server-2005

我使用以下代码来为每个月使用的小型自定义控件选择一些快速设置。

我担心这不是使用最少资源的最好和最快的方法。

我可以让某人评估我的陈述并提出改进建议吗?

    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 :(得分:0)

您的应用程序中有多少次sql调用?如果只有一个或几个,那么你使用的方法很好。如果您的应用程序计划对数据库进行多次(100次)调用,则需要一个更优雅的解决方案,例如构建数据访问层或使用ORM。

使用using自动处理连接和参数化的sql调用是完全可以接受的。