books-read.com
books-read.com » Компьютеры и Интернет » Базы данных » Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю

Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю

Наш ресурс дает возможность бесплатно читать книгу онлайн Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю. Жанр: Базы данных . Сайт books-read.com дает возможность читать полную версию книги без регистрации и sms. Все книги онлайн, не надо качать fb2, epub, txt.
Добавить книгу Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю в приложение ЧИТАТЬ КНИГУ ОФЛАЙН в приложении ios/android
Перейти на страницу:

  Console.WriteLine("***** Info about your connection *****");

  Console.WriteLine($@"Database location:

    {connection.DataSource}");         // Местоположение базы данных

  Console.WriteLine($"Database name: {connection.Database}");

                                       // Имя базы данных

  Console.WriteLine($@"Timeout:

    {connection.ConnectionTimeout}");  // Таймаут

  Console.WriteLine($"Connection state:

    {connection.State}n");            // Состояние подключения

}

Большинство этих свойств понятно без объяснений, но свойство

State
требует специального упоминания. Ему можно присвоить любое значение из перечисления
ConnectionState
:

public enum ConnectionState

{

  Broken,

  Closed,

  Connecting,

  Executing,

  Fetching,

  Open

}

Однако допустимыми значениями

ConnectionState
будут только
ConnectionState.Open
,
ConnectionState.Connecting
и
ConnectionState.Closed
(остальные члены перечисления зарезервированы для будущего использования). Кроме того, закрывать подключение всегда безопасно, даже если его состоянием в текущий момент является
ConnectionState.Closed
.

Работа с объектами ConnectionStringBuilder

Работа со строками подключения в коде может быть утомительной, т.к. они часто представлены в виде строковых литералов, которые в лучшем случае трудно обрабатывать и контролировать на предмет ошибок. Совместимые с .NET Core поставщики данных поддерживают объекты построителей строк подключения, которые позволяют устанавливать пары "имя-значение" с применением строго типизированных свойств. Взгляните на следующую модификацию текущего кода:

var connectionStringBuilder = new SqlConnectionStringBuilder

{

  InitialCatalog = "AutoLot",

  DataSource = ".,5433",

  UserID = "sa",

  Password = "P@ssw0rd",

  ConnectTimeout = 30

};

  connection.ConnectionString =

    connectionStringBuilder.ConnectionString;

В этой версии создается экземпляр класса

SqlConnectionStringBuilder
, соответствующим образом устанавливаются его свойства, после чего с использованием свойства
ConnectionString
получается внутренняя строка. Обратите внимание, что здесь применяется стандартный конструктор типа. При желании объект построителя строки подключения для поставщика данных можно также создать, передав в качестве отправной точки существующую строку подключения (что может быть удобно, когда значения динамически читаются из внешнего источника). После наполнения объекта начальными строковыми данными отдельные пары "имя-значение" можно изменять с помощью связанных свойств.

Работа с объектами команд

Теперь, когда вы лучше понимаете роль объекта подключения, следующей задачей будет выяснение, каким образом отправлять SQL-запросы базе данных. Тип

SqlCommand
(производный от
DbCommand
) является объектно-ориентированным представлением SQL-запроса, имени таблицы или хранимой процедуры. Тип команды указывается с использованием свойства
CommandType
, которое принимает любое значение из перечисления
CommandType
:

public enum CommandType

{

  StoredProcedure,

  TableDirect,

  Text // Стандартное значение.

}

При создании объекта команды SQL-запрос можно указывать как параметр конструктора или устанавливать свойство

CommandText
напрямую. Кроме того, когда создается объект команды, необходимо задать желаемое подключение. Его также можно указать в виде параметра конструктора либо с применением свойства
Connection
. Взгляните на следующий фрагмент кода:

// Создать объект команды посредством аргументов конструктора.

string sql =

    @"Select i.id, m.Name as Make, i.Color, i.Petname

         FROM Inventory i

         INNER JOIN Makes m on m.Id = i.MakeId";

SqlCommand myCommand = new SqlCommand(sql, connection);

// Создать еще один объект команды через свойства.

SqlCommand testCommand = new SqlCommand();

testCommand.Connection = connection;

testCommand.CommandText = sql;

Учтите, что в текущий момент вы еще фактически не отправили SQL-запрос базе данных

AutoLot
, а только подготовили состояние объекта команды для будущего использования.

В табл. 21.5 описаны некоторые дополнительные члены типа

DbCommand
.

Язык программирования C#9 и платформа .NET5 - _154.png

Работа с объектами чтения данных

После установления активного подключения и объекта команды SQL следующим действием будет отправка запроса источнику данных. Как вы наверняка догадались, это можно делать несколькими путями. Самый простой и быстрый способ получения информации из хранилища данных предлагает тип

DbDataReader
(реализующий интерфейс
IDataReader
). Вспомните, что объекты чтения данных представляют поток данных, допускающий только чтение в прямом направлении, который возвращает по одной записи за раз. Таким образом, объекты чтения данных полезны, только когда лежащему в основе хранилищу данных отправляются SQL-операторы выборки.

Перейти на страницу:

Троелсен Эндрю читать все книги автора по порядку

Троелсен Эндрю - на сайте онлайн книг books-read.com Вы можете читать полные версии книг автора в одном месте.


Язык программирования C#9 и платформа .NET5 отзывы

Отзывы читателей о книге Язык программирования C#9 и платформа .NET5, автор: Троелсен Эндрю. Читайте комментарии и мнения людей о произведении.


Уважаемые читатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.

  • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
  • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
  • 3. Просьба отказаться от нецензурной лексики.
  • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

Надеемся на Ваше понимание и благоразумие. С уважением, администратор books-read.com


Прокомментировать
Подтвердите что вы не робот:*