Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
Объекты чтения данных удобны, если нужно быстро пройти по большому объему данных без необходимости иметь их представление в памяти. Например, в случае запрашивания 20 000 записей из таблицы с целью их сохранения в текстовом файле помещение такой информации в объект
DataSetDataSetБолее эффективный подход предусматривает создание объекта чтения данных, который максимально быстро проходит по всем записям. Тем не менее, имейте в виду, что объекты чтения данных (в отличие от объектов адаптеров данных, которые рассматриваются позже) удерживают подключение к источнику данных открытым до тех пор, пока вы его явно не закроете.
Объекты чтения данных получаются из объекта команды с применением вызова
ExecuteReader()[]В приведенном ниже примере использования объекта чтения данных задействован метод
Read()falseClose()...// Получить объект чтения данных посредством ExecuteReader().using(SqlDataReader myDataReader = myCommand.ExecuteReader()){ // Пройти в цикле по результатам. while (myDataReader.Read()) { WriteLine($"-> Make: { myDataReader["Make"]}, PetName: { myDataReader["PetName"]}, Color: { myDataReader["Color"]}."); }}ReadLine();Индексатор объекта чтения данных перегружен для приема либо значения
stringintFieldCountwhile (myDataReader.Read()){ for (int i = 0; i < myDataReader.FieldCount; i++) { Console.Write(i != myDataReader.FieldCount - 1 ? $"{myDataReader.GetName(i)} = {myDataReader.GetValue(i)}, " : $"{myDataReader.GetName(i)} = {myDataReader.GetValue(i)} "); } Console.WriteLine();}Если в настоящий момент скомпилировать проект и запустить его на выполнение, то должен отобразиться список всех автомобилей из таблицы Inventory базы данных
AutoLot***** Fun with Data Readers ********** Info about your connection *****Database location: .,5433Database name: AutoLotTimeout: 30Connection state: Openid = 1, Make = VW, Color = Black, Petname = Zippyid = 2, Make = Ford, Color = Rust, Petname = Rustyid = 3, Make = Saab, Color = Black, Petname = Melid = 4, Make = Yugo, Color = Yellow, Petname = Clunkerid = 5, Make = BMW, Color = Black, Petname = Bimmerid = 6, Make = BMW, Color = Green, Petname = Hankid = 7, Make = BMW, Color = Pink, Petname = Pinkyid = 8, Make = Pinto, Color = Black, Petname = Peteid = 9, Make = Yugo, Color = Brown, Petname = BrownieПолучение множества результирующих наборов с использованием объекта чтения данных
Объекты чтения данных могут получать несколько результирующих наборов с применением одиночного объекта команды. Например, если вы хотите получить все строки из таблицы
InventoryCustomersSelectsql += ";Select * from Customers;";На заметку! Точка с запятой в начале строки опечаткой не является. В случае использования множества операторов они должны разделяться точками с запятой. И поскольку начальный оператор не содержал точку с запятой, она добавлена здесь в начало второго оператора.
После получения объекта чтения данных можно выполнить проход по каждому результирующему набору, используя метод
NextResult()do{ while (myDataReader.Read()) { for (int i = 0; i < myDataReader.FieldCount; i++) { Console.Write(i != myDataReader.FieldCount - 1 ? $"{myDataReader.GetName(i)} = {myDataReader.GetValue(i)}, "Похожие книги на "Язык программирования C#9 и платформа .NET5", Троелсен Эндрю
Троелсен Эндрю читать все книги автора по порядку
Троелсен Эндрю - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки mir-knigi.info.