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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите разобраться с ADO.NET 2.0 
:(
    Опции темы
alir
Дата 6.3.2006, 19:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Никак не могу начать писать в VS2005. Поизменяли все... smile
Значит так. Помнится кто-то говорил (ессно, здесь на форуме), что версии 1.1 и 2.0 ADO.NET не отличаются основными объектами. Но как же тогда это?
В VS2003 при создании "основного плацдарма" для работы с данными происходит следущее: перетаскиваем соединение с БД из server explorer и автоматически создаются объекты adpater и connection. Причем они сразу прописываются в коде.
Ну а далее все по стандарту: через соединение производим sql-команды, а через адаптер генерируем dataSet и работаем с ним. Все понятно и просто.
А теперь что происходит в VS2005. Также перекидываем соединение на форму, но никаких адаптеров и соединений не генерируется, а создается что-то подобное datagrid'у с source-объектом, который в предыдущей студии являлся всего лишь свойством - т.е. прописывали source, чтобы связать какой либо компонент с объетом данных, а здесь он выступает как целый объект. Ну и спрашивается как с этим работать? Все эти "новые" штуки в коде не прописываются и не понятно откуда брать dataset и где производить команды. Прописывать самому? Кто все-таки просветит насчет новшест версии 2.0, а то что-то ничего не пойму. Может кто ссылочку с русским мануалом подкинет? Если я где-то неправ - изправте/вразумите.

PM MAIL ICQ   Вверх
Exception
Дата 6.3.2006, 20:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Если тебе нужны типизованные датасеты - милости просим в Shift+Alt+D...
PM   Вверх
alir
Дата 6.3.2006, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Exception
Ты предлагаешь нажать на форме? Только обновляется экран и ничего не создается.
А вопрос несколько глобальнее.
PM MAIL ICQ   Вверх
Exception
Дата 6.3.2006, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Я имею в виду нажать это в Visual Studio и лицезреть прекрасное окошко Data Sources smile , на котором кнопочка Add New Data Source... генерирует типизованный датасет, который, видимо, тебе и нужен.
PM   Вверх
mr.DUDA
Дата 7.3.2006, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



После того, как создали соединение в Server Explorer, можно создавать источники данных для этого соединения.

Если речь идёт об ASP.NET-приложении, то работаем следующим образом. На тулбоксе "Data" выбираем SqlDataSource, AccessDataSource, XmlDataSource или ещё какой-нибудь, тянем его на форму - получаем источник данных. Теперь его можно вешать его на контролы, предварительно настроив queries в свойствах источника данных.

Если мы работаем с WinForms, тогда всё ещё круче smile
Жмём правкликом по проекту, выбираем "Add New Item...", выбираем "DataSet", вводим какое-нибудь имя, открывается синенький дизайнер smile. В нём вообще-то всё уже написано, но я объясню. Если перетянуть на дизайнер любую таблицу или хранимую процедуру из Server Explorer-а, то:
1) получим типизированную таблицу в датасете
2) получим типизированный датаадаптер в датасете

С типизированным датасетом можно работать хоть в дизайн-тайме (тянуть на форму, вешать на контролы), хоть в рантайме:
Код

    public partial class Form1 : Form
    {
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            DataSet1 ds = new DataSet1();
            DataSet1TableAdapters.Sales_by_YearTableAdapter adapter = new WindowsApplication2.DataSet1TableAdapters.Sales_by_YearTableAdapter();
            adapter.Fill(ds.Sales_by_Year, new DateTime(1900, 1, 1), new DateTime(2100, 1, 1));
        }



З.Ы. лично я напрямую с БД в .NET никогда не работаю, но мне понравилось как сделано в 2005 - просто супер !


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


Опытный
**


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

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



mr.DUDA
Цитата

Теперь его можно вешать его на контролы, предварительно настроив queries в свойствах источника данных.

Что насчет queries? И как работать с объектом source в коде?

Цитата

2) получим типизированный датаадаптер в датасете

С ним не надо в коде работать (например, самому выбирать метод Fill)?


Я так понимаю, что в VS2005 объекты dataSet и др. сами прописываться в коде не будут? Самому надо все прописывать?
PM MAIL ICQ   Вверх
mr.DUDA
Дата 7.3.2006, 19:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Подожди... Ты про WinForms говоришь или ASP.NET ?


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


Опытный
**


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

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



Цитата

Ты про WinForms говоришь или ASP.NET ?

И о том, и о том.
PM MAIL ICQ   Вверх
mr.DUDA
Дата 8.3.2006, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(alir @ 7.3.2006, 15:18 Найти цитируемый пост)
Что насчет queries? И как работать с объектом source в коде?

Текст запросов (для select, update и др.) настраивается в окне Properties.
В исходном коде с этими объектами (типизированным датасетом или источником данных) работать точно так же, как и с любыми другими компонентами, добавленными на форму: созданная переменная имеет имя, по которому она доступна в коде формы.

Цитата(alir @ 7.3.2006, 15:18 Найти цитируемый пост)
С ним не надо в коде работать (например, самому выбирать метод Fill)?

Если вешаешь этот датасет на грид, то по идее не надо (не проверял). А если пользоваться им в коде самостоятельно - тогда конечно надо дёргать адаптеровский Fill для заполнения, Update для сохранения изменений.


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


Опытный
**


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

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



Цитата

как и с любыми другими компонентами, добавленными на форму: созданная переменная имеет имя, по которому она доступна в коде формы.

Тогда почему объявление этого объекта не прописывается в коде, как это делалось,
например, в VS2003?
PM MAIL ICQ   Вверх
Exception
Дата 9.3.2006, 20:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



А зачем тебе его объявление? Оно в .designer.cs
PM   Вверх
arilou
Дата 9.3.2006, 20:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


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

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



alir, читаем в MSDN про partial classes


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
alir
Дата 19.3.2006, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата

Оно в .designer.cs

Дык я вот и спрашиваю - где он? В проекте нет, в папке проекта тоже...

Цитата

Я имею в виду нажать это в Visual Studio и лицезреть прекрасное окошко Data Sources  , на котором кнопочка Add New Data Source... генерирует типизованный датасет, который, видимо, тебе и нужен.

А вот такого нет. Нет и все: просто обновляется экран и ничего не вылазиет smile Мож у меня студия какая то кривая....

Я например, вешаю на форму AccessDataSource, настравиваю source. Ну и где генерируется dataset? Я даже названия его не могу узнать. smile

Плиз хэлп! smile

В принципе можно сгенерировать новый dataSet, добавив его как новый класс к проекту. Но не понятно почему не работают многие с ним операции, доступные в .net 1.1. Например,
Код

 foreach (Store.DataSet3.UsdataRow dataItem in dataSet31.Usdata)
{
...

не воспринемается вообще. smile

Это сообщение отредактировал(а) alir - 19.3.2006, 17:57
PM MAIL ICQ   Вверх
Exception
Дата 19.3.2006, 21:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



А ты нажми на кнопочку в тулбаре "показать все файлы". Опять-таки, зачем тебе его объявление?
Для того, чтобы добавить типизированный датасет, нужно выбрать Data -> Add New Data Source...
PM   Вверх
alir
Дата 19.3.2006, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата

А ты нажми на кнопочку в тулбаре "показать все файлы".

Где именно, и как называется (на англ.)?

Цитата

Опять-таки, зачем тебе его объявление?

Потому что я даже название его не знаю.

Цитата

Для того, чтобы добавить типизированный датасет, нужно выбрать Data -> Add New Data Source...

Это я сделал, но порблема в другом. Прочти чуть выше.
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

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

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

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


 




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


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

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