C # Sql Строка Соединения Через Страницы - PullRequest
1 голос
/ 03 марта 2011

Если у меня есть несколько страниц, что будет правильной процедурой при создании переменной строки подключения и совместном использовании ее со всеми моими страницами.Я бы предпочел не набирать строку подключения 100 раз для каждой страницы, а просто вызвать ее.Могу ли я создать его в своем пространстве имен или каков наилучший подход?

Ответы [ 10 ]

6 голосов
/ 03 марта 2011

Поместите строку подключения в файл web.config. См. Следующее в MSDN: Как: считывать строки подключения из файла Web.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 голос
/ 03 марта 2011

вы не можете использовать конфигурацию <connectionStrings/>?http://msdn.microsoft.com/en-us/library/ms178411.aspx

1 голос
/ 03 марта 2011

Обычно он находится в вашем файле конфигурации (web.config)

0 голосов
/ 03 марта 2011

Вы также можете создать файл с именем connectionStrings.config или выбранное вами имя со следующим содержимым:

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

И затем в вашем Web.Config Вставьте этот тег в узел

<connectionStrings configSource="connectionStrings.config"/>
0 голосов
/ 03 марта 2011

Иметь строку соединения (CS) в файле (App/Web).Config и CS, возвращенную статическим методом GetConncectionString(). Это означает, что этот конкретный статический метод будет использоваться на всех страницах, где требуется CS.

0 голосов
/ 03 марта 2011

Вы должны сохранить его в своем конфигурационном файле. Для winforms это будет app.config, а для 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))));

0 голосов
/ 03 марта 2011

строки подключения обычно хранятся в файлах конфигурации, таких как веб-конфигурация. Вот простой пример добавьте что-то подобное в конфиг

<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

0 голосов
/ 03 марта 2011

Существует множество способов приблизиться к этому, которые углубились бы в архитектуру / SOC / IoC / Repository / etc, но чтобы ответить на ваш вопрос в его простейшем смысле, вы можете создать класс 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();
0 голосов
/ 03 марта 2011

Есть много вариантов.Это зависит от того, какую методологию доступа к данным вы используете.Я бы предложил создать класс для обработки загрузки строки подключения из файла web.config и предоставления ее в качестве открытого свойства.

0 голосов
/ 03 марта 2011

Ну, я бы включил установочный файл и поместил его туда. Это может быть не самая лучшая ставка, но у меня работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...