![]() |
Модераторы: gambit |
![]() ![]() ![]() |
|
Softaz |
|
|||
![]() wasm ![]() ![]() Профиль Группа: Участник Сообщений: 373 Регистрация: 16.1.2006 Репутация: 4 Всего: 16 |
Никак не могу понять простую вещь.
Мучаюсь с 2005. Вообщем 1. кидаю на форму DataGridView, кликаем по треугольнику вверху, выбираем Choose Data Source --> Add Project Data Source... 2. Выбираю Database --> Next --> создаю новое подключение с БД ACCESS 3. Соглашаюсь сохранить в dataConnectionString (Yes, save the connection as) 4. Выбираю таблицы и поля, DataSet присваивается имя dataDataSet. 5. Жму Finish. Создаются компоненты myTableBindingSource, myTableDataSet, myTableTableAdapter Теперь я могу изменять relation, выбирать, какие поля отображать. Поставил bindingNavigator, в BindingSource указал myTableBindingSource. Вообщем, все стандартно, имхо. Проблема в том, что никак не могу понять, как, используя _эти_созданные_компоненты_, выполнять свои произвольные запросы в базу данных? Например, сделать textBox и прямо в нем писать SELECT * FROM Table...? Пример прикрепил в аттаче. Заранее спасибо! Присоединённый файл ( Кол-во скачиваний: 42 ) ![]() -------------------- Разочарованный в .NET |
|||
|
||||
Ch0bits |
|
|||
![]() Python Dev. ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2124 Регистрация: 21.2.2005 Где: Казань Репутация: нет Всего: 62 |
Эх... через мастера работать все молодцы, а надо сначала учиться всё вручную писать.
![]()
|
|||
|
||||
Softaz |
|
||||
![]() wasm ![]() ![]() Профиль Группа: Участник Сообщений: 373 Регистрация: 16.1.2006 Репутация: 4 Всего: 16 |
А почему не происходит заполнение?
Еще один вопрос. Создается Fill (Query), у которого есть параметр CommandText, MyTableTableAdapter с подобными параметрами, куда вписываются соответствующие SQL-команды. Их как-либо можно менять в runtime, чтобы примерно следующее:
Заранее спасибо. -------------------- Разочарованный в .NET |
||||
|
|||||
Ch0bits |
|
|||
![]() Python Dev. ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2124 Регистрация: 21.2.2005 Где: Казань Репутация: нет Всего: 62 |
Если проще, то:
Ты можешь на схеме данных в своей таблице вызвать меню Add->Query и создать произвольный запрос с помощью мастера. При этом в дата адаптере таблицы появится метод заполнения с именем твоего запроса. |
|||
|
||||
Softaz |
|
||||
![]() wasm ![]() ![]() Профиль Группа: Участник Сообщений: 373 Регистрация: 16.1.2006 Репутация: 4 Всего: 16 |
При этом в дата адаптере таблицы появится метод заполнения с именем твоего запроса.
Есть, только никак не пойму, как его менять в рантайме. Допустим, создал я FillBy. При создании в CommandText написал SELECT id, field1, filed2, field3 FROM MyTable При его вызове выведутся все данные из таблицы, что очевидно. Теперь мне захотелось организовать поиск по таблице. Так вот как заменить строку запроса к БД в рантайм (например, на SELECT id FROM MyTable) у этого FillBy я и не знаю. Пока написал такой код и поместил его в *.Designer.cs
Соответственно, вызываю
Вот примерно этого добиваюсь. Не подходит потому, что каждый раз при изменении в Designer'е, код переписывается и приходится его копировать. Как делать вручную без мастера я знаю, только это ооочень долго будет: полно таблиц и связей. -------------------- Разочарованный в .NET |
||||
|
|||||
alir |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 383 Регистрация: 19.3.2005 Репутация: нет Всего: 4 |
Softaz
Все-таки лучше писать своими руками - там провереннее.
Что ты имеешь ввиду под runtime? Неужели задача не решается через обычные oledbcommands? |
||||
|
|||||
Softaz |
|
|||
![]() wasm ![]() ![]() Профиль Группа: Участник Сообщений: 373 Регистрация: 16.1.2006 Репутация: 4 Всего: 16 |
Что ты имеешь ввиду под runtime?
Изменение параметра CommandText у Query Fill, создаваемым мастером во время работы программы. Например, по нажатию на кнопку, в переменную занесся некоторая динамически формируемая строка и запрос выполнился (Fill(...)). Неужели задача не решается через обычные oledbcommands? Решается. Таблиц много, полно связей, так что мастером намного быстрее. Создавать новые oledbcommands, потом использовать их не хочется. Просто если есть возможность задания своих Query, хочется узнать как ей пользоваться. -------------------- Разочарованный в .NET |
|||
|
||||
albert21 |
|
||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 166 Регистрация: 10.1.2006 Репутация: нет Всего: нет |
Есть вариант использования DataView, его можно сортировать и фильтровать
Или так:
Вариации можно разные придумать, при этом работа ведётся в локальной копии БД, а не по сетке! Правда вопрос есть открытый! Как выполнить подобную выборку из нескольких таблиц? --------------------
http://www.certifications.ru/publicresults.php?tu_id=45939 |
||||
|
|||||
Softaz |
|
||||
![]() wasm ![]() ![]() Профиль Группа: Участник Сообщений: 373 Регистрация: 16.1.2006 Репутация: 4 Всего: 16 |
Вот так можно:
-------------------- Разочарованный в .NET |
||||
|
|||||
voiger |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 7.6.2007 Где: Украина, Запорожь е Репутация: нет Всего: нет |
про wizard, почему не обновляются данные в базе:
http://msdn2.microsoft.com/en-us/library/ms246989.aspx UPD: т.е. если у вас не обновляются данные в базе, возможно вы на вопрос Wizard'a "А не хотите ли скопировать базу в дирректорию проекта?" ответили "хочу". После этого визард мало того, что поместил базу в дирректорию с *.csproj-файлом, но и копирует её каждый раз при компиляции проекта в bin. Обо всём этом написано в MSDN (см. ссылку выше) Это сообщение отредактировал(а) voiger - 22.1.2008, 16:37 |
|||
|
||||
thomas |
|
|||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 35 Всего: 65 |
voiger,
Приветствую на форуме. ![]() Вы задали очень "понятный" вопрос. Поясните ситуацию и задайте более конкретный вопрос. Иначе никто не сможет вам помоч. -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
|||
|
||||
voiger |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 7.6.2007 Где: Украина, Запорожь е Репутация: нет Всего: нет |
thomas,
это ответ ![]() У человека "не выполнялись запросы". Они выполнялись, но в другой БД, в скопированной в bin-дирректорию проекта, а он смотрел, скорее всего (как и я), в исходную БД. Сам разобрался, решил людям помочь ![]() |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Базы данных под .NET | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |