Справочник по C#

    Исходники по языку программирования CSharp

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

    /
    /
    /
    39 Views


          В этой статье я хочу показать,как создавать подключение к базам данных 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 Server: Справочник по C#

    0.00 (0%) 0 votes

    moyadcode13
    • Facebook
    • Twitter
    • Google+
    • Linkedin
    • Pinterest
    moyadcode10
    moyadcode11
    moyadcode9