2012-01-06 10 views
2

私は毎月スパイリングで使用されている小さなカスタムコントロールのいくつかのクイック設定を取り上げるために以下のコードを使用しています。SharepointのDBから読み込んだ設定値のためのベストPratice

私はこれがリソースを最小限に抑える最善の方法ではないことを心配しています。

私は自分の声明を評価して改良を加えることができますか?

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; 
    } 

答えて

0

アプリケーションにはいくつのsqlコールがありますか? 1つまたはいくつかの場合は、使用しているアプローチは問題ありません。アプリケーションでデータベースへの呼び出しを数回(100回)行う予定がある場合は、データアクセスレイヤを構築するか、ORMを使用するなど、より洗練されたソリューションが必要になります。

usingを使用すると、接続を自動的に破棄し、パラメータ化されたSQL呼び出しを完全に受け入れることができます。

+0

ええ、このアプリでは、合計約5通話で、セッションでは25通しかないでしょう。セキュアなサーバーから保護されていないパブリックサイトにデータをコピーするためのすばやいインターフェイスページです。私はこれらの小さな1つのオフで私の人生を過ごすように見えます! –

関連する問題