1. 程式人生 > >ASP.NET MVC與Sql Server建立連線

ASP.NET MVC與Sql Server建立連線

開啟Sql Server 2008,建立資料庫,建立如下表:

點選Visual Studio中"工具"選單下的"連線到資料庫",選擇"Microsoft SQL Server"作為資料來源。

點選"繼續"。

連線剛建立的資料庫,點選"確定"。

開啟"伺服器資源管理器",如下:

右鍵"伺服器資源管理器",點選"屬性",複製連線字串。並粘帖到Web.config中的connectionStrings節點下。

 <connectionStrings>
    <!--<add name="defaultconnection" providername="system.data.sqlclient" connectionstring="data source=(localdb)\v11.0;initial catalog=aspnet-itcast.cms.webapp-20141109181452;integrated security=sspi;attachdbfilename=|datadirectory|\aspnet-itcast.cms.webapp-20141109181452.mdf" />-->
   <add name="defaultconnection" providerName="system.data.sqlclient" connectionString="Data Source=.;Initial Catalog=ItcastDb;Integrated Security=True" />
  <add name="connStr" connectionString="server=.;uid=home;pwd=;database=ItcastDb"/>
  </connectionStrings>

現在,需要一個處理連線的幫助類,如下:

 public class SqlHelper
    {
       private readonly static string connStr = ConfigurationManager.ConnectionStrings["defaultconnection"].ConnectionString;
       public static DataTable GetTable(string sql, CommandType type, params SqlParameter[] pars)
       {
           using (SqlConnection conn = new SqlConnection(connStr))
           {
               using (SqlDataAdapter atper = new SqlDataAdapter(sql, conn))
               {
                   atper.SelectCommand.CommandType = type;
                   if (pars != null)
                   {
                       atper.SelectCommand.Parameters.AddRange(pars);
                   }
                   DataTable da = new DataTable();
                   atper.Fill(da);
                   return da;
               }
           }
       }
       public static int ExecuteNonQuery(string sql, CommandType type, params SqlParameter[] pars)
       {
           using (SqlConnection conn = new SqlConnection(connStr))
           {
               using (SqlCommand cmd = new SqlCommand(sql, conn))
               {
                   cmd.CommandType = type;
                   if (pars != null)
                   {
                       cmd.Parameters.AddRange(pars);
                   }
                   conn.Open();
                   return cmd.ExecuteNonQuery();
               }
           }
       }
       public static object ExecuteScalar(string sql, CommandType type, params SqlParameter[] pars)
       {
           using (SqlConnection conn = new SqlConnection(connStr))
           {
               using (SqlCommand cmd = new SqlCommand(sql, conn))
               {
                   cmd.CommandType = type;
                   if (pars != null)
                   {
                       cmd.Parameters.AddRange(pars);
                   }
                   conn.Open();
                   return cmd.ExecuteScalar();
               }
           }
       }

    }

注意:webconfig的連線字串的name要與sqlhelper的連線名要一致。

  <add name="defaultconnection" providerName="system.data.sqlclient" 
     private readonly static string connStr = ConfigurationManager.ConnectionStrings["defaultconnection"].ConnectionString;