跨页的C#Sql连接字符串

时间:2011-03-03 16:43:19

标签: c# sql connection-string

如果我有几个页面,那么在创建连接字符串变量并在我的所有页面之间共享它是正确的过程。我宁愿不为每个页面键入100次连接字符串,而只是调用它。我可以在我的命名空间中创建它还是最好的方法?

10 个答案:

答案 0 :(得分:6)

将连接字符串放在web.config文件中。请参阅MSDN上的以下内容:How to: Read Connection Strings from the Web.config File

config中的连接字符串示例:

<connectionStrings>
    <add name="Movies2"
         connectionString="Data Source=(local);Initial Catalog=Movies;User ID=wt3movies;Password=lalalalala;Integrated Security=SSPI"
         providerName="System.Data.SqlClient" />
</connectionStrings>

使用字符串:

string connStr = ConfigurationManager.ConnectionStrings["Movies2"].ConnectionString;

答案 1 :(得分:1)

它通常位于配置文件(web.config)

答案 2 :(得分:1)

你不能使用<connectionStrings/>配置吗? http://msdn.microsoft.com/en-us/library/ms178411.aspx

答案 3 :(得分:0)

好吧,我会包含设置文件并将其放在那里。这可能不是最好的选择但对我有用。

答案 4 :(得分:0)

有很多选择。这取决于您使用的数据访问方法。我建议创建一个类来处理从web.config文件加载连接字符串并将其公开为公共属性。

答案 5 :(得分:0)

有多种方法可以深入研究架构/ SOC / IoC / Repository /等,但为了尽可能简单地回答您的问题,您可以创建一个具有单个方法的Database类,从配置中获取连接字符串。

internal class DataAccess
{
   static string GetDatabaseConnection()
    {
      return ConfigurationManager.ConnectionStrings["AppDb"].ConnectionString;
      // where AppDb is defined in your web.config/app.config.
    }
}

您的网页可以使用:

string connection = DataAccess.GetDatabaseConnection();

答案 6 :(得分:0)

连接字符串通常存储在配置文件中,例如Web配置。这是一个简单的例子 将这样的内容添加到配置

<connectionStrings>
  <add 
    name="NorthwindConnectionString" 
    connectionString="Data Source=serverName;Initial 
    Catalog=Northwind;Persist Security Info=True;User 
    ID=userName;Password=password"
    providerName="System.Data.SqlClient"
  />
</connectionStrings>

然后将其作为

进行检索
System.Configuration.Configuration rootWebConfig =
            S

ystem.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("/MyWebSiteRoot");
            System.Configuration.ConnectionStringSettings connString;
            if (rootWebConfig.ConnectionStrings.ConnectionStrings.Count > 0)
            {
                connString =
                    rootWebConfig.ConnectionStrings.ConnectionStrings["NorthwindConnectionString"];
                if (connString != null)
                    Console.WriteLine("Northwind connection string = \"{0}\"",
                        connString.ConnectionString);
                else
                    Console.WriteLine("No Northwind connection string");
            }

完整文章在这里http://msdn.microsoft.com/en-us/library/ms178411.aspx

答案 7 :(得分:0)

你应该把它保存在配置文件中。对于将是app.config的winforms,对于webforms,它是web.config。以下是您需要的部分(适用于winforms)。

<connectionStrings> <add name="MyNameSpace.Properties.Settings.ConnectionString1" connectionString="Data Source=MYSQLSERVER;Initial Catalog=DATABASENAME;Integrated Security=True" providerName="System.Data.SqlClient" /> </connectionStrings>

然后您可以像这样访问连接字符串(取决于您的.NET版本 - 这是针对2.0)

string connectionString = ((string)(configurationAppSettings.GetValue(ConnectionString1"", typeof(string))));

答案 8 :(得分:0)

(App/Web).Config文件中有连接字符串(CS)并从静态方法GetConncectionString()返回CS。这意味着,这个特定的静态方法将用于需要CS的所有页面中

答案 9 :(得分:0)

您还可以使用以下内容创建名为connectionStrings.config的文件或您选择的名称:

    <connectionStrings>
  <add name="MyConnection" connectionString="server=MyServer; database=MyDataBase; user id=myUser; pwd=MyPwd;"/>
</connectionStrings>

然后,在你的Web.Config中 在节点

下插入此标记
<connectionStrings configSource="connectionStrings.config"/>