从asp.net中的Web.config获取连接字符串

Amm*_*jad 28 c# database asp.net connection-string

我想知道从asp.net中的web.config文件获取连接字符串的方法.

我只知道以下方式.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;

    namespace Sherserve.DataAccessLayer
    {
        public class DBGateway
        {
            public static string conString;

            public DBGateway()
            {
                conString = ConfigurationManager.ConnectionStrings["test"].ToString();
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

Sha*_*ard 42

使用the ConfigurationManager.ConnectionStrings是唯一正确的方法,通过健全检查正确使用它可以有这样的代码:

public DBGateway()
{
    ConnectionStringSettings mySetting = ConfigurationManager.ConnectionStrings["test"];
    if (mySetting == null || string.IsNullOrEmpty(mySetting.ConnectionString))
        throw new Exception("Fatal error: missing connecting string in web.config file");
    conString = mySetting.ConnectionString;
}
Run Code Online (Sandbox Code Playgroud)

如果连接字符串丢失,这将抛出有用的错误,而不是隐藏的"空对象"错误.

值得一提的是,ConnectionStringSettings该类重写了该ToString()方法:

public override string ToString()
{
    return this.ConnectionString;
}
Run Code Online (Sandbox Code Playgroud)

因此,这意味着使用ConfigurationManager.ConnectionStrings["test"].ToString()是相同的,ConfigurationManager.ConnectionStrings["test"].ConnectionString但是你仍然可以更好地执行健全性检查,并且个人看起来更干净,使用实际属性而不依赖于类来提供它.


RL8*_*L89 8

以下是整个解决方案: -

string constring = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionStringName"].ConnectionString;
SqlConnection con = new SqlConnection(constring);
DataSet ds = new DataSet();
try
 {
   SqlDataAdapter dataAdapter = new SqlDataAdapter(query, con);
   SqlCommandBuilder commandBuilder = new SqlCommandBuilder(dataAdapter);
   con.Open();
   dataAdapter.Fill(ds, "table");
   return ds;
 }
 catch (Exception ex)
  {
  }
    finally
    {
        if (con.State == System.Data.ConnectionState.Open)
            con.Close();
    }
Run Code Online (Sandbox Code Playgroud)

这是您可以将数据库中的记录提取到数据表中的方法.

希望这是你想要的.