2011-07-05 9 views
0

私はそれ自身のためにデータベースを持っているmvc3アプリケーションを持っています。私のサイトでは、独自のデータベースを使用する別のプログラムからデータを取得する必要があります。また、そのデータベースに格納されているストアプロシージャを実行する必要があります。
これは、SQL接続を作成してそのストアプロシージャを実行し、それらのデータのクエリを実行するか、mvc3でこの問題を処理するためのより良い方法があるのが最善のアクションであることを知りたいと思いますか?ASP.NET MVC3のデータベースに接続

答えて

5

.NETでデータベースアクセスを実行する方法はたくさんあります。この他のプログラムは、データベースを照会するために強く型付けされたAPIを提供していない場合は、SqlConnection,SqlCommand(いずれもとりわけinvoke stored proceduresになります)またはEntity FrameworkなどのORMを使用してプレーンADO.NETを使用できます。

0

ASP.NET MVCでは、あなたのモデル(ビューまたはコントローラではない)にデータアクセスコードを配置する必要がありますが、快適なデータアクセス手法を使用することはできません。

0

Darinはすでに.NETでデータベースアクセスを実行する方法はたくさんあると述べています。ここでは、SqlConnectionとSqlCommandの使用例を示します。もちろん、これはSQL Dbへの接続を暗示しています。

using (SqlConnection con = new SqlConnection(Global.GetConnectionString())) 
      { 
       con.Open(); 
       using (SqlCommand cmd = new SqlCommand()) 
       { 
        cmd.Connection = con; 
        cmd.CommandText = @"SELECT [ID],[suburb],[state],[postcode],[country],[latitude],[longitude] 
             FROM [suburbGeocodes] 
            WHERE ID = @ID"; 
        //include the ID in the command to make the Load() generic 

        cmd.Parameters.Add(new SqlParameter("@ID", id)); 

        using (SqlDataReader drd = cmd.ExecuteReader(System.Data.CommandBehavior.SingleResult)) 
        { 
         if (drd.Read()) 
         { 
          this.Load(drd); 
         } 
        } 
       } 
      } 

接続文字列はWeb.configファイルにあります。私はそれを形にするために作成したグローバルオブジェクトを使用しています。それは

ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; 
     } 

以下のようにWeb.configファイルから読み取ることができ、web.configファイル内の接続文字列がある...

<connectionStrings> 
<add name="ConnectionString" connectionString="Data Source=datasource;Initial Catalog=databasename;Persist Security Info=True;User ID=user;Password=password" providerName="System.Data.SqlClient" /> 
    </connectionStrings> 
関連する問題