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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> textBox. Работа с БД, Как лучше? 
:(
    Опции темы
sindi8
  Дата 10.6.2005, 09:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Какой подход лучше (из опыта).
Насколько мне удалось понять (если я не прав - поправьте), то для работы с БД (для добавления и изменения данных) можно использовать 2 подхода:
1. Собирать запрос, подставляя в него значения из textBox-ов
2. Привязать textBox-ы к DataTable
Так как лучше? Кажется, что 2 красивее. Но ничего конкретного по нему не видел.
И еще - smile если можно.
Спасибо заранее.
PM MAIL   Вверх
AntonSaburov
Дата 10.6.2005, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

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



Я бы выбрал все-таки 1-ый вариант. По поводу примера - ну строки можно наверно и самому собрать smile
PM MAIL WWW ICQ   Вверх
-ser-
Дата 10.6.2005, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



можно использовать 102 подхода. все зависит от количества нужных полей, интерфейса, сколько записей будет введено за раз, етс.
я использую текстбоксы, их можно нужным образом расположить на экране, а также, например, выделить бакграундом обязательные поля и проч.



--------------------
"Тонкая, однако, работа." 
PM MAIL ICQ   Вверх
sindi8
Дата 10.6.2005, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



OK. Спасибо. Значит продолжаю собирать строки smile
Раньше просто писал на делфе. Дык там текстбоксы настраивались на поля таблиц и про контроль вводимых данных можно было забыть. Здесь тогда как контролировать ввод. Регулярные выражения прикручивать? Или что?
PM MAIL   Вверх
AntonSaburov
Дата 10.6.2005, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

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



Моно посмотреть в обработку события Validating (что-то вроде такого). Там и проверять.
PM MAIL WWW ICQ   Вверх
mr.DUDA
Дата 10.6.2005, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

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



ОДНОЗНАЧНО не нужно изобретать велосипед, поэтому 2-й вариант лучше !

Подробней - в MSDN, всё что посвящено data bindings. Если в двух словах, то:
1) представляешь свои таблицы в виде DataTable или DataView
2) привязываешь свои textBox-ы к полям таблицы
3) зачитываешь из БД и обновляешь в БД свою DataTable, используя класс DataAdapter

всё, и руками ничего делать не нужно.


--------------------
user posted image
PM MAIL WWW   Вверх
sindi8
Дата 10.6.2005, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Я верил, что так можно! smile
Спасибо за информацию. Буду работать.
PM MAIL   Вверх
AntonSaburov
Дата 10.6.2005, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

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



Я это не делаю, потому что чаще всего использую для обновления stored procedure. И параметры из форм подставляю руками. А связывать с полями - может для просмотра и ничего, но вот для редактирования - мне не очень нравится. Хотя на вкус и цвет smile
PM MAIL WWW ICQ   Вверх
sindi8
Дата 10.6.2005, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Я когда под веб писАл, тоже так делал. Сейчас решил попробовать готовые возможности, предоставляемые .NET-ом.
PM MAIL   Вверх
mr.DUDA
Дата 10.6.2005, 18:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

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



Цитата(AntonSaburov @ 10.6.2005, 16:59)
А связывать с полями - может для просмотра и ничего, но вот для редактирования - мне не очень нравится

А можно поконкретней ?


--------------------
user posted image
PM MAIL WWW   Вверх
AntonSaburov
Дата 10.6.2005, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

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



Ну предположим получил я данные. Показать - замечательно. Здесь поля можно привязывать.

Но как только дело доходит до редактирования - мне не нравятся стандартные варианты. Я люблю делать редактирование руками. Вызвали диалог, отметили все что надо, закрыли диалог. Подставили значения полей из диалога в поля SP и вызвали.
PM MAIL WWW ICQ   Вверх
Дрон
Дата 11.6.2005, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


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

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



Цитата(AntonSaburov @ 10.6.2005, 19:19)
Но как только дело доходит до редактирования - мне не нравятся стандартные варианты. Я люблю делать редактирование руками. Вызвали диалог, отметили все что надо, закрыли диалог. Подставили значения полей из диалога в поля SP и вызвали.

Я тоже предпочитаю такой вариант.


--------------------
Да. Именно так.
PM   Вверх
mr.DUDA
Дата 12.6.2005, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

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



Если приложение использует для работы с БД промежуточный слой (persistence или data layer), тогда удобнее завязать контролы на датасет, т.к. в этом случае фреймворк делает работу по связыванию данных самостоятельно, а датасетом управляет промежуточный слой. В итоге, на плечи остальной части приложения ложится только написание обработчиков событий формы и управление data layer-ом (т.е. "сохранить данные из формы", "зачитать данные в форму", "обновить", "удалить запись" и т.п.). Это моё имхо, подкреплённое реальным опытом работы с проектом, активно использующим большое кол-во форм с разнообразными по структуре датасетами. К примеру, на форме находится 3 закладки, на первой - десяток текстовых и числовых полей, поля "дата/время", на второй закладке - текстовые поля и датагрид DevExpress, с редактируемыми полями, на третьей - другой грид и несколько полей с кнопками выбора "...", и всё это завязано на одну запись (DataRow) датасета, связанную посредством relations с другими записями таблиц того же датасета. Зачитка и прочие операции реализованы в базовом классе формы, а привязка контролов к полям датасета - суть всего лишь добавление одного databinding-а. Реализовать то же самое вручную, используя хранимые процедуры - значит, завязаться на конкретную структуру данных, которая в принципе может измениться.


--------------------
user posted image
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

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

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

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


 




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


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

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