2

asp.net webform プロジェクトでは、データベースにアクセス (挿入、更新、削除、選択) する必要がある場所に接続チャネルを作成します。これは、以下で説明するように多かれ少なかれ似ています。

これについての私の考えは、すべてのクエリと接続文字列を格納するクラスを作成できるかということです。この方法は正しいですか? そうでない場合、プロの方法は何ですか?

public bool ValidateFunc(string findText, string findField)//checking whether the mailid or username already exits
        {
            .. .. 
            .. ..
            string connstr = ConfigurationManager.ConnectionStrings["Connectionstr"].ConnectionString;
            SqlConnection Connection = new SqlConnection(connstr);
            string seletquery = @"SELECT * FROM Registration WHERE" + findField + "  = @Findt";
            SqlCommand Command = new SqlCommand(seletquery, Connection);
            Command.Parameters.AddWithValue("@Findt", findText);
            Connection.Open();
            SqlDataReader ad = Command.ExecuteReader();
            .. ..
            .. ..    
        }


public void InsertFunc()//inserting into database 
        {
            string connstr = ConfigurationManager.ConnectionStrings["Connectionstr"].ConnectionString;
            SqlConnection Connection = new SqlConnection(connstr);
            string insertq = @"insert into Registration values (@fname,@lname,@dob,@emailid,@uname)";
            SqlCommand Command = new SqlCommand(insertq, Connection);
            Connection.Open();
            Command.ExecuteNonQuery();
            Connection.Close();

        }
4

1 に答える 1

2

すべての DB アクセスを 1 つのクラスにまとめることはしません。プロジェクトが成長するにつれて、すぐに管理できなくなります。

広く受け入れられている 1 つの方法は、Repository パターンを使用することです。

詳細については、この StackOverflow の質問を参照してください:リポジトリ パターンのステップ バイ ステップの説明

MSDN に関するこの記事も非常に優れています: http://msdn.microsoft.com/en-us/library/ff649690.aspx

于 2013-11-13T13:34:19.580 に答える