Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DataSet, DataGridView и выборки из бд 
:(
    Опции темы
IDisposable
Дата 6.2.2011, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 6.2.2011

Репутация: нет
Всего: нет



Помогите мне решить проблему, связанную с моей неопытностью в разработке на C# и БД. 
Суть такова: есть бд, в ней есть таблицы 
Orders(заказы)[int orderID, vchar value, bool completed, int customerID] 
Customers(заказчики)[int customerID, vchar name] 
Проблемы: 
1. Нужно делать 3 выборки по Orders: completed = true, completed = false и все строки. Все это должно биндиться к 3м DataGridView. Можно ли это сделать красивее, чем 3 разных таблицы(Oders, OrdersCompleted, OrdersNonCompleted) в DataSet? 
2. В DataGridView должен быть не id заказчика, а его имя. Опять же - как это можно красиво сделать в DataSet и DataGridView? 

Спасибо.
PM   Вверх
RobinHoodPHD
Дата 10.2.2011, 21:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 12.8.2007
Где: Русь

Репутация: нет
Всего: 2



Доброго дня
1. Делать 3 разных таблицы не нужно, ибо данные у Вас одни и те же по структуре. Вам нужно создать один единственный TableAdapter и два метода для его заполнения, что то типа FillByCompleted (DataTable,Completed) и Fill (DataTable)
FillByCompleted заполняет таблицу в соотв с переданным параметром Completed типа bool, SQL для него выглядит так:
Код

SELECT * FROM Orders o 
JOIN Customers c ON o.customerID = c.customerID
WHERE completed = @Completed

А это для метода Fill
Код

SELECT * FROM Orders o 
JOIN Customers c ON o.customerID = c.customerID

Все эти два метода заполняют одну и ту же таблицу
Когда Вам нужно заполнить таблицу вызываем нужный метод - либо MyTableAdater.Fill (MyDataTable), либо 
MyTableAdater.FillByCompleted (MyDataTable, true или false)
И любуемся данными в гриде
2. Откройте документацию по DataGridView , стоит сначала поискать в гугле и почитать в книжке, а не спрашивать сразу. Не хотите id заказчика - выводите его имя. Т.е. настраиваем колонки грида для вывода поля name, а не customerID
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0566 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.