![]() |
Модераторы: gambit |
![]() ![]() ![]() |
|
sindi8 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 6.6.2005 Где: Москва Репутация: нет Всего: нет |
Какой подход лучше (из опыта).
Насколько мне удалось понять (если я не прав - поправьте), то для работы с БД (для добавления и изменения данных) можно использовать 2 подхода: 1. Собирать запрос, подставляя в него значения из textBox-ов 2. Привязать textBox-ы к DataTable Так как лучше? Кажется, что 2 красивее. Но ничего конкретного по нему не видел. И еще - ![]() Спасибо заранее. |
|||
|
||||
AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: нет Всего: 118 |
Я бы выбрал все-таки 1-ый вариант. По поводу примера - ну строки можно наверно и самому собрать
![]() |
|||
|
||||
-ser- |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 1.2.2005 Репутация: 4 Всего: 13 |
можно использовать 102 подхода. все зависит от количества нужных полей, интерфейса, сколько записей будет введено за раз, етс.
я использую текстбоксы, их можно нужным образом расположить на экране, а также, например, выделить бакграундом обязательные поля и проч. -------------------- "Тонкая, однако, работа." |
|||
|
||||
sindi8 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 6.6.2005 Где: Москва Репутация: нет Всего: нет |
OK. Спасибо. Значит продолжаю собирать строки
![]() Раньше просто писал на делфе. Дык там текстбоксы настраивались на поля таблиц и про контроль вводимых данных можно было забыть. Здесь тогда как контролировать ввод. Регулярные выражения прикручивать? Или что? |
|||
|
||||
AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: нет Всего: 118 |
Моно посмотреть в обработку события Validating (что-то вроде такого). Там и проверять.
|
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 8 Всего: 232 |
ОДНОЗНАЧНО не нужно изобретать велосипед, поэтому 2-й вариант лучше !
Подробней - в MSDN, всё что посвящено data bindings. Если в двух словах, то: 1) представляешь свои таблицы в виде DataTable или DataView 2) привязываешь свои textBox-ы к полям таблицы 3) зачитываешь из БД и обновляешь в БД свою DataTable, используя класс DataAdapter всё, и руками ничего делать не нужно. -------------------- ![]() |
|||
|
||||
sindi8 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 6.6.2005 Где: Москва Репутация: нет Всего: нет |
Я верил, что так можно!
![]() Спасибо за информацию. Буду работать. |
|||
|
||||
AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: нет Всего: 118 |
Я это не делаю, потому что чаще всего использую для обновления stored procedure. И параметры из форм подставляю руками. А связывать с полями - может для просмотра и ничего, но вот для редактирования - мне не очень нравится. Хотя на вкус и цвет
![]() |
|||
|
||||
sindi8 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 6.6.2005 Где: Москва Репутация: нет Всего: нет |
Я когда под веб писАл, тоже так делал. Сейчас решил попробовать готовые возможности, предоставляемые .NET-ом.
|
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 8 Всего: 232 |
А можно поконкретней ? -------------------- ![]() |
|||
|
||||
AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: нет Всего: 118 |
Ну предположим получил я данные. Показать - замечательно. Здесь поля можно привязывать.
Но как только дело доходит до редактирования - мне не нравятся стандартные варианты. Я люблю делать редактирование руками. Вызвали диалог, отметили все что надо, закрыли диалог. Подставили значения полей из диалога в поля SP и вызвали. |
|||
|
||||
Дрон |
|
|||
![]() Java-ненавистник :) ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3179 Регистрация: 29.12.2002 Где: Санкт-Петербург Репутация: 5 Всего: 92 |
Я тоже предпочитаю такой вариант. -------------------- Да. Именно так. |
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 8 Всего: 232 |
Если приложение использует для работы с БД промежуточный слой (persistence или data layer), тогда удобнее завязать контролы на датасет, т.к. в этом случае фреймворк делает работу по связыванию данных самостоятельно, а датасетом управляет промежуточный слой. В итоге, на плечи остальной части приложения ложится только написание обработчиков событий формы и управление data layer-ом (т.е. "сохранить данные из формы", "зачитать данные в форму", "обновить", "удалить запись" и т.п.). Это моё имхо, подкреплённое реальным опытом работы с проектом, активно использующим большое кол-во форм с разнообразными по структуре датасетами. К примеру, на форме находится 3 закладки, на первой - десяток текстовых и числовых полей, поля "дата/время", на второй закладке - текстовые поля и датагрид DevExpress, с редактируемыми полями, на третьей - другой грид и несколько полей с кнопками выбора "...", и всё это завязано на одну запись (DataRow) датасета, связанную посредством relations с другими записями таблиц того же датасета. Зачитка и прочие операции реализованы в базовом классе формы, а привязка контролов к полям датасета - суть всего лишь добавление одного databinding-а. Реализовать то же самое вручную, используя хранимые процедуры - значит, завязаться на конкретную структуру данных, которая в принципе может измениться.
-------------------- ![]() |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Базы данных под .NET | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |