Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Базы данных под .NET > Как работать с DataSource?


Автор: ModeRa 21.10.2007, 14:36
Всем дброго времени суток. Помогите разобраться.
Есть DataSource. В него через DataAdapterы залито две связанные таблички.
Вопрос: Как и через что мне с этими таблицками работать. Буквально, надо отобразить в гриде select этих табличек с правым(левым) джойном.  Заранее спасибо! (Сори за тупость =) )

Добавлено через 1 минуту и 11 секунд
Опс .. smile  DataSource заменяем на DataSet =)

Автор: thomas 22.10.2007, 00:10
ModeRa, 
Приветствую.
Добро пожаловать на форум.  smile 

Первое:
в ДатаСете создать и заполнить таблицу на основе запроса нужных данных из связанных таблиц БД. (твой запрос с JOIN) 
Второе:
воспользоваться свойствами DataGridView для отображения этих данных на форме
DataGridView.DataSource = myDataSet  - твой ДатаСет
DataGridView.DataMember= myTable - имя твоей таблицы с данными в ДатаСет

Если с самого начала то примерно так:
Код

            private SqlCommand dbCmd;
            private SqlConnection dbCon;
            private SqlDataAdapter dbDa;
            private DataSet ds;
            private string conStr, sql;
// тут присвой значения для
conStr= ... ;
sql = ... ;
                dbCon = new SqlConnection(); // создал соединение
                dbCon.ConnectionString = conStr; // указал свойство соединения, как соединяться
                dbCmd = new SqlCommand(); // создал команду
                dbCmd.Connection = dbCon; // указал свойство команды
                dbDa = new SqlDataAdapter(dbCmd); // создал датаАдаптер на основании команды
                ds = new DataSet(); // создал дата сет
                dbCmd.CommandText = sql; // указал значение текста команды
                dbDa.Fill(ds, tabelName); // заполнил датасет данными в указанную таблицу при помощи заданных ранее соединения и команды.
// далее отобразишь эти данные в DataGridView



ЗЫ и совет - почитать http://msdn.microsoft.com/library/rus/ про работу с данными. Какие классы и для чего используются.
Удачи.

Автор: ModeRa 22.10.2007, 18:49
Вопрос немного в другом. Можно ли работать с DataSet , как с БД.  Я так понимаю , что DataSet представляет из себя набор таблиц и их связи посредством Relation? Дык зачем мне обращаться к базе со своим запросом, если я смогу выцепить выборку из  DataSet. Или это невозможно? Тогда зачем вообще юзать Data Set и Relation?

Автор: tol05 22.10.2007, 22:52
Цитата(ModeRa @  22.10.2007,  18:49 Найти цитируемый пост)
Тогда зачем вообще юзать Data Set и Relation? 

Дельный вопрос. 
Предлагаю ознакомится с http://msdn2.microsoft.com/en-us/library/ms810293.aspx и http://msdn2.microsoft.com/en-us/library/ms810294.aspx
Думаю, они тебе помогут.

Автор: ModeRa 23.10.2007, 15:58
типа учи англицкий  smile  smile  
2 tol05 сенк 

Автор: thomas 23.10.2007, 19:21
ModeRa, 
Не знаешь английский, читай русскую http://msdn.microsoft.com/library/rus/default.asp?url=/library/RUS/vbcon/html/vboriIntegratingDataVB.asp

Или мы не знаем о существовании этого ресурса.
Далее думаю сам найдешь соответствующие статьи. Начинай от http://msdn.microsoft.com/library/rus/default.asp?url=/library/RUS/vbcon/html/vbcondatasets.asp
Удачи.  smile 

Автор: ModeRa 23.10.2007, 19:27
спасибо smile 

Автор: ModeRa 15.11.2007, 11:01
Вот нашел пару примеров... как по другому не знаю ... может быть кому-то еще нужно будет.


http://www.gotdotnet.ru/LearnDotNet/ASPNET/103996.aspx

http://www.gotdotnet.ru/DotNet/FAQ/WindowsForms/DataGrid/77060.aspx

Автор: alik_voodoo 19.11.2007, 18:05
Если нужно отфильтровать таблицы, используйте объект DataView. Свойство RowFilter позволяет задать команду SQL select, для фильтрации.

Автор: unicuum 7.12.2007, 04:57
Цитата(ModeRa @  22.10.2007,  18:49 Найти цитируемый пост)
Вопрос немного в другом. Можно ли работать с DataSet , как с БД.  Я так понимаю , что DataSet представляет из себя набор таблиц и их связи посредством Relation? Дык зачем мне обращаться к базе со своим запросом, если я смогу выцепить выборку из  DataSet. Или это невозможно? Тогда зачем вообще юзать Data Set и Relation? 

DataSet это отсоединённый объект, находится в оперативке, если база например 100 Гб, можешь ты её залить в оперативу? Потому её или по записям считывают или заливают нужную часть в отсоединённые объекты и юзают их, потом синхронизируясь с базой.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)