Домой SQL Руководство для начинающих по использованию SQL Server: Справочник по C#

Руководство для начинающих по использованию SQL Server: Справочник по C#

415
0


      В этой статье я хочу показать,как создавать подключение к базам данных SQL Server или MSDE. Этот код должен работать на обоих SQL-серверах. Я использую как 2000, так и MSDE. Кроме того, я использую Visual Studio 2002, но все это должно работать и с Visual Studio 2003, Web Matrix, и SDK из командной строки. Приведенный код должен работать как с приложениями C#, так и с веб-приложениями C# и веб-сервисами. Этот код не компилируется на FreeBSD с помощью Rotor [^].

Предыстория
      Часть моего текущего проекта требует от меня сохранять и восстанавливать информацию из базы данных. Я решил использовать C# как свой основной язык с тех пор, как начал читать книгу Inside C# Second Edition [^] от Tom Archer[^], которая, таким образом, является обязательной. Однако я не смог найти примеры того, как красиво и в общем виде использовать SQL-сервер с C#.


Использование кода

     Я не включал пример приложения, потому что код, который приводится в статье, может быть использован в реальности и должен работать без проблем. Также во всей статье я буду ссылаться на SQL Server, MSDE — это свободная версия SQL Server, которая не предоставляет некоторых графических инструментов и имеет несколько других ограничений, например, размер базы данных. Этот код должен работать на обоих без проблем.

Устанавливаем любимое соединение
     В действительности нет никакой магии вуду для создания соединения с SQL-сервером, допуская, что он был правильно установлен,- это я не буду рассматривать в данной статье. .NET позволяет очень легко работать с SQL. Первым шагом является добавление пространства имен клиента SQL:

using System.Data.SqlClient;

Затем мы создаем SqlConnection и указываем строку подключения.

SqlConnection myConnection = new SqlConnection("user id=username;" +   "password=password;server=serverurl;" +   "Trusted_Connection=yes;" +   "database=database; " +   "connection timeout=30");

Примечание: разрыв в строке соединения служит только для форматирования

SqlConnection.ConnectionString

      Строка подключения — это просто набор опций и их значений, которые указывают как и куда подключаться. Пока я изучал справочные файлы Visual Studio .NET, я обнаружил несколько полей, имеющих много имен, но работающих одинаково, как, например, Password и Pwd взаимозаменяемы. Я не включал всех опций для SqlConnection.ConnectionString в этот раз. Как только я получу шанс проверить и использовать остальные опции, я включу их в статью.
User ID

      User ID используется для аутентификации средствами SQL. В своей практике я обычно игнорирую этот параметр, используя Trusted_Connection или аутентификацию средствами Windows. Если с именем пользователя связан пароль, используется Password или Pwd.

"user id=userid;"

Password или Pwd
      Поле пароля используется с User ID. Не имеет смысла вход в систему без имени пользователя, а только с паролем. Password и Pwd полностью взаимозаменяемы.

"Password=validpassword;"

-или-

"Pwd=validpassword;"

Data Source, или Server, или Address, или Addr, или Network Address
      Просматривая документацию MSDN, я нашел множество путей указать сетевой адрес. В документации утверждается, что нет отличий между ними, и они могут использоваться равнозначно. Адрес — это правильный сетевой адрес, для краткости я использую только адрес localhost в примерах.

"Data Source=localhost;""

-или-

"Server=localhost;"

-или-

"Address=localhost;"

-или-

"Addr=localhost;"

-или-

"Network Address=localhost;"

Integrated Sercurity или Trusted_Connection
      Integrated Security и Trusted_Connection используются для указания, является ли соединение безопасным, например, как аутентификация средствами Windows или SSPI. Распознаваемые значение — это true, false и sspi. В соответствии с документацией MSDN, sspi является эквивалентом true. Примечание: Я не знаю, как работает SSPI, или как влияет на соединение.
Connect Timeout или Connection Timeout
      Эти опции определяют время ожидания ответа сервера до генерации ошибки в секундах. Значением по умолчанию является 15 (секунд).

"Connect Timeout=10;"

-или-

"Connection Timeout=10;"

SqlConnection.Open()
      Это последняя часть установки соединения, и в простом случае выполняется следующим кодом (не забудьте убедиться, что ваше соединение получило строку подключения ранее):

try
{
myConnection.Open();
}
catch(Exception e)
{
Console.WriteLine(e.ToString());
}

      SqlConnection.Open() — это void-функция, которая не возвращает ошибок, а выбрасывает исключение, потому не забывайте помещать ее в try/catch блок, чтобы предотвратить взрыв программы на фронте пользователя.
Не забывайте закрыть, когда вы закончили!
      Закрытие соединения так же просто, как и открытие. Просто вызовите SqlConnection.Close(), но не забывайте поместить его в блок try/catch, потому что, как и SqlConnection.Open(), он не возвращает ошибок, а выбрасывает исключение.

try
{
myConnection.Close();
}
catch(Exception e)
{
Console.WriteLine(e.ToString());
}

      Теперь вы владеете основами, необходимыми для начала использования базы данных SQL в ваших веб или настольных приложениях.

Взято с www.realcoding.net

ЧИТАТЬ ТАКЖЕ:  Подключение к SQL серверу HP Web JetAdmin: Справочник по C#

Руководство для начинающих по использованию SQL Server: Справочник по C#

0.00 (0%) 0 votes

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь