Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
2 / 2 / 1
Регистрация: 09.02.2020
Сообщений: 477

Метод Select возвращает ссылку на соответсствующие строки или записывает сами строки в customersRows?

14.08.2020, 19:32. Показов 555. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Объясните, пожалуйста, метод Select возвращает ссылку на соответсствующие строки или записывает сами строки в customersRows? В документации сказано что в выражении запроса предложение select задает тип значений, которые будут получены при выполнении запроса. Не совсем понятно что имеется ввиду.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
using System;
using System.Data.SqlClient;
using System.Data;
 
// поиск данных в таблице по указанному фильтру. Метод Select
 
namespace SearchingAndFiltering
{
    class Program
    {
        static void Main(string[] args)
        {
            DataSet ds = new DataSet();
 
            string connecionString = @"Data Source=WIN-9VNS32J8479\IVAN;Initial Catalog=ShopDB;Integrated Security=True";
            string commandString = "SELECT * FROM Customers";
 
            SqlDataAdapter adapter = new SqlDataAdapter(commandString, connecionString);
 
            adapter.Fill(ds);
 
            DataTable customers = ds.Tables[0];
 
            DataRow[] customersRows = customers.Select("Address1 = 'Лужная 15'"); //ищет строки где "Address1 = 'Лужная 15'", при этом возвращает в (массив) DataRow[], тк строк соответствующих этому условию может быть много.
 
            foreach (var customersRow in customersRows) //для каждой строки
            {
                foreach (DataColumn customersColumn in customers.Columns) //для данной строки выводим содержимое каждой ячейки
                    Console.WriteLine(customersColumn.ColumnName + " " + customersRow[customersColumn]);
                
                Console.WriteLine();
            }
        }
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.08.2020, 19:32
Ответы с готовыми решениями:

функция сравнивает две строки, и, если строки равны возвращает 0, если первая строка больше второй, то возвращает 1,
// 6. int mystrcmp (const char * str1, const char * str2) -функция сравнивает две строки, и, если строки равны возвращает 0, // если...

Как вернуть в запросе значение по умолчанию, если SELECT возвращает NULL или ничего не возвращает?
Добрый день! Например я хочу чтобы донное выражение возвращало мне 0 или скажем 1, если результатом выражения rating вернется NULL: ...

Метод рандомного заполнения строки буквами возвращает System.Char
Добрый день.Написал метод ToRandomLetters,который по идее должен возвращать строку с рандомными буквами латинского алфавита,но вместо нее...

3
Пора на C++?
 Аватар для TrickyBestia
370 / 264 / 99
Регистрация: 10.04.2020
Сообщений: 1,275
14.08.2020, 19:39
MyCyberMan, данный код вызовет ошибку компиляции на 24 строке.
0
2 / 2 / 1
Регистрация: 09.02.2020
Сообщений: 477
14.08.2020, 20:12  [ТС]
я понимаю так, что метод Select возвращает объекту DataRow[] каким-то образом ссылки на соответствующие строки. Тогда при изменении массива строк должна изменится и таблица. А также можно обращатся путем customersRow[customersColumn] к ячейкам тк customersRow это ссылка на строки. Но в этом случае каждая из строк массива строк customersRow хранит ссылку на соответствующую строку таблицы ds.Table[0] хотя по своей природе как я понимаю объект DataRow должен хранить значение. Тк для гранения ссылок можно использовать переменные. Объясните, пожалуйста, что я не так понял?

Добавлено через 3 минуты
Цитата Сообщение от TrickyBestia Посмотреть сообщение
данный код вызовет ошибку компиляции на 24 строке.
Здесь должно быть соответствие с базой. У Вас там должны быть соответствующие таблицы. иначе не выполнится.
вывод следующий:
CustomerNo 1
FName Константин
LName Круковский
MName Петрович
Address1 Лужная 15
Address2
City Харьков
Phone (092)3212211
DateInSystem 20.11.2009 0:00:00

Саму базу закинуть нельзя
0
Эксперт .NET
 Аватар для Usaga
14289 / 9375 / 1351
Регистрация: 21.01.2016
Сообщений: 35,330
15.08.2020, 07:04
MyCyberMan, этот метод возвращает ссылки на исходные строки:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
        static void Main(string[] args)
        {
            var dt = new DataTable();
 
            dt.Columns.Add("asdf");
 
            dt.LoadDataRow(new[] { "test" }, true);
 
            var rows = dt.Select("asdf = 'test'");
 
            Debug.Assert(Object.ReferenceEquals(rows[0], dt.Rows[0])); // true
 
            Console.ReadLine();
        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.08.2020, 07:04
Помогаю со студенческими работами здесь

Написать программу, которая считывает исходный текст программы и записывает длину строки в виде комментария в конец каждой строки
Помогите пожалуйста. Написать программу, которая считывает исходный текст программы на Паскале и записывает длину строки в виде...

Строки передают ссылку или значение-?
Добрый день. Сегодня у меня появился вопрос насчет строк JS. В пример этот код var str=' string string string string string string...

Почему метод ActiveDocument.GetCrossReferenceItems(wdRefTypeHeading) возвращает строки длиной не более 95 символов?
Heads = ActiveDocument.GetCrossReferenceItems(wdRefTypeHeading) Если длина какого-нибудь заголовка превышает 93...95 символов, то он...

Функция возвращает строку (или указатель на начало строки)
Подскажите пожалуйста. Застрял на тривиальной задачке. Никак не могу добится чтобы функция возвращала корректно строку.(правильнее наверное...

Select-String и строки CRLF или 0D0A
Всем привет! Столкнулся с проблемой выборки строк из текстового файла. Мне необходимо получить все номера строк в которых не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru