..
В предыдущем уроке мы видели, как связать коллекцию статических (также известный как в оперативной памяти), чтобы различные элементы управления на стороне сервера. Хотя этот вид операции может быть полезно в некоторых контекстах, однако, часто возникает необходимость привязки элементов управления к различным коллекций объектов из других источников, часто из базы данных.
В дополнение к в том числе библиотеки классов для разработки приложений для настольных компьютеров (Windows Forms) и управление запросов HTTP (ASP.NET). NET Framework также включает в себя библиотеку, которая поддерживает подключение разнообразных баз данных и называется ADO.NET (Active Data Objects. NET). Эта технология основана на трех основных функций: подключение к базе данных, запросов базы данных, и результаты управления.
Если вы хотите, чтобы взаимодействовать с базой данных необходимо подключиться к нему. Соединение требует идентификации расположения базы данных, но также может обратиться за управление безопасностью и других сложных отдыхает. Все эти элементы управляются как часть процесса подключения к базе данных. Информацию о соединении, как правило, передается в виде строки, содержание которых используется для настройки различных параметров.
Хотя в прошлом приходилось вручную писать код для доступа к базе данных через ADO.NET, указав тип базы данных, вы хотите подключиться и автоматически устанавливать свойства подходят для этого типа соединения.
Есть несколько типов баз данных поддерживаются:
<configuration> <configSections> <Раздел имя = "System.Data.Odbc" Тип = " System.Data.Common.DbProviderConfigurationHandler, ..."/> <Раздел имя = "System.Data.OleDb" Тип = " System.Data.Common.DbProviderConfigurationHandler, ..."/> <Раздел имя = "System.Data.OracleClient" Тип = " System.Data.Common.DbProviderConfigurationHandler, ..."/> <Раздел имя = "System.Data.SqlClient" Тип = " System.Data.Common.DbProviderConfigurationHandler, ... "/> <configSections /> <system.data> <DbProviderFactories> <Добавить имя = "Microsoft SQL Server Compact поставщика данных" инвариантной = " System.Data.SqlServerCe.3.5 " Тип = "System.Data.SqlServerCe.SqlCeProviderFactory ..." /> </ DbProviderFactories> </ System.Data> < / Configuration>>
Для создания соединения с базой данных приходится использовать право компонента. При наличии соединения вы можете использовать для доступа к базе данных. Например, если наш локальный компьютер хостинг базы данных SQL Server, называется DB_TEST должны войти в возможности применения наших следующую строку соединения
<configuration> <connectionStrings> <Добавить имя = "TEST" ConnectionString = "сервер = (местные); Integrated Security = SSPI; DB_TEST базы данных = "/> </ ConnectionStrings> </ Configuration>На этом этапе вы можете открыть соединение и иметь базу данных для выполнения операций, которые мы хотим.
Большинство баз данных поддержка языка SQL (Structured Query Language), чтобы делать запросы, изменения, новые вставки и удаления данных. Эти команды обычно имеют форму, подобную следующей
SELECT * FROM Customers WHERE Фамилия = 'Smith'где Клиент таблицы в базе данных. Эта команда берет список клиентов по фамилии Смит. Чтобы получить эти данные в нашем применения мы пишем следующий код
TestDBApp класса
{
статической силы основных ()
{
DbProviderFactory DbProviderFactory DbProviderFactories.GetFactory = ("System.Data.SqlClient");
Используя (DbConnection сопп = dbProviderFactory.CreateConnection ())
{
Строка S = ConfigurationManager.ConnectionStrings ["Тест"] ConnectionString.
Соппес = с;
сопп.Ореп ();
DbCommand Cmd = conn.CreateCommand ();
стй.СоттапйТех ^ = "SELECT * FROM Customers WHERE Фамилия = 'Smith'";
DbDataReader читатель = cmd.ExecuteReader ();
/ / Используйте читателю получить доступ к данным
}
}
}
Команды (CMD), используя метод ExecuteReader причины отправки наших запросов к базе данных.
Результаты в этом случае получаются через экземпляр класса IDataReader, но вы можете также управлять ими через другой класс DataSet.
IDataReader указывается для выполнения итераций по результатам запроса. В частности, он предоставляет Прочитано метод, который осуществляет перебор строк по одному за раз так sequenziale.Lo недостатком является то, что при проверке не представляется возможным, чтобы вернуться к предыдущей строке, а также возвращенные строки доступны только для чтения, таким образом Вы не можете изменить содержания.
В качестве альтернативы можно IDataReader к DataSet, который позволяет управлять набором автономных данных. ADO.NET предназначена в основном для поддержки приложений, очень масштабируемым и одна из основных проблем масштабируемости является ограничение на количество подключений к базе данных. Базы данных на самом деле часто имеют ограничения на количество соединений одновременно активных в данный момент времени и, если все те, которые используются разрешены операции замедляются. Если число пользователей системы составляет примерно равно числу соединений в поставках в то же время может привести к проблемам не имеет отношения, но если количество пользователей увеличилось производительность системы может пошатнется.
Для решения этих проблем ADO.NET предоставляет DataSet класса, предназначен для обеспечения своего рода копия базы данных (или его часть), используемого приложения. Преимуществ много, просто думаю, что в течение экземпляр набора данных можно ввести новые данные, обновлять или удалять существующие, а затем подтвердить все эти операции, которые выполняются в автономном режиме, подключаясь к базе данных в течение короткого периода времени.
DataSet класс включает массив объектов DataTable, которые заполняются через DataAdapter. Эти элементы вызывается при загрузке данных из базы данных непосредственно в DataTable, а затем вы можете работать на этих локальных данных, взаимодействующих с базой данных только тогда, когда вы подтвердите внесенные в них изменения.
Таким образом, используя DataSet мы можем обращаться к каждому элементу в нем так совершенно случайным, в отличие от того, что мы видели, для компонента DbDataReader.
| |
ASP (Advanced)
Полный курс для создания динамических веб-сайтов. С 39 €. |
| |
ASP.NET (курс)
Полный курс для создания веб-приложений от 49 €. |
| |
SQL и базы данных (курс)
Создание и управление реляционными базами данных. С 39 €. |