![]() |
|
Модераторы: gambit |
![]()
|
|
| Redstuff |
|
|||
![]() Команда REDSTUFF ![]() ![]() Профиль Группа: Участник Сообщений: 497 Регистрация: 27.5.2006 Где: Санкт-Петербург Репутация: нет Всего: 1 |
В книге "Visual Studio .NET разработка приложений баз данных" написано о динамическом подключении, но что-то я не могу найти параметра Dynamic Propertys.
Как тогда задавать параметры соеденения с БД в момент запуска приложения, чтобы не приходилось каждый раз компилировать. ПО: Microsoft SQL Server 2005 Visual Studio Pro |
|||
|
||||
| thomas |
|
|||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 35 Всего: 65 |
Redstuff,
Привет. пишешь простенький класс оболочку доступа и работы с БД с параметрами в конструкторе класса. При запуске приложения создаешь экземпляр класса с нужными параметрами и дальше юзаешь его. Можно его использовать для работы с разными базами одновременно. Для одной базы один экземпляр класса, для другой другой. ООП-с. Класс примерно такой:
Данный класс позволяет работать с различными БД, надо просто указать путь к БД и имя БД. Ты можешь реализовать в классе методы и функции которые нужны тебе. Кстати путь к Базе и имя Базы можно зашивать в файл конфигурации или в регистр Винды. -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
|||
|
||||
| Redstuff |
|
|||
![]() Команда REDSTUFF ![]() ![]() Профиль Группа: Участник Сообщений: 497 Регистрация: 27.5.2006 Где: Санкт-Петербург Репутация: нет Всего: 1 |
thomas, спасибо. А можно че попроще? я токо начинаю изучение MS SQL Server'a.
|
|||
|
||||
| thomas |
|
|||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 35 Всего: 65 |
Redstuff,
Чтобы подключиться к базе на сервере нужен connectionString, где указывается путь к базе и имя самой базы, плюс имя сервера и т.д. То что тебе нужно чтобы соединиться с базой есть в приведенном примере. Вот это ты по любому должен прописывать в твоей форме:
А дальше по ходу пьесы в нужный момент открываешь соединение с базой, имеешь её и снова закрываешь соединение. И так столько сколько нужно. И не плохо почитать библию программиста. удачи. -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
|||
|
||||
| Redstuff |
|
|||
![]() Команда REDSTUFF ![]() ![]() Профиль Группа: Участник Сообщений: 497 Регистрация: 27.5.2006 Где: Санкт-Петербург Репутация: нет Всего: 1 |
thomas, еще раз спасибо!
А что же тогда в книге написано: "В открывшемся дополнительном окне Dynamic Propertys установите флажок Map property to a key in configuration file и нажмите кнопку OK (рис. 1.7)." ![]() "В результате свойства строки соединения будут помещены во внешний конфигурационный файл, и их впоследствии можно будет менять без перекомпиляции приложения." Это сообщение отредактировал(а) Redstuff - 24.6.2007, 17:51 |
|||
|
||||
| thomas |
|
|||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 35 Всего: 65 |
Redstuff,
Привет. Книгу нашел, сейчас качаю. Давай поподробнее опиши что и как ты делаешь и где это в книжке описано. Плюс какую студию ты используешь? (2003 или 2005) Будем еще раз посмотреть. -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
|||
|
||||
| Redstuff |
|
|||
![]() Команда REDSTUFF ![]() ![]() Профиль Группа: Участник Сообщений: 497 Регистрация: 27.5.2006 Где: Санкт-Петербург Репутация: нет Всего: 1 |
Привет thomas!
Студия 2005 Начиная со страницы 30. Добавляю контрол на форму sqlConnection1 и там нет этой строчки в параметрах - Dynamic Propertys... Это сообщение отредактировал(а) Redstuff - 25.6.2007, 11:52 |
|||
|
||||
| thomas |
|
||||||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 35 Всего: 65 |
Redstuff,
В 2005 студии такого действительно нет, книга написана про 2003 и там это есть. (у меня стоят обе студии) Но в принципе это не проблема. Тебе просто придется самому прописывать эти свойства в конфигурационный файл или в регистр. Во втором случае, после установки программы можно будет менять значения в регистре машины пользователя. Пример с конфигурацией у меня где-то есть. Сейчас поищу. Во нашел. Добавляешь в using System.Configuration; Потом в загрузке главной формы прописываешь:
А так выглядит код файла конфигурации:
Только пропиши свой провайдер для SQLSERVER и соответственно свой путь и свою базу. Это сообщение отредактировал(а) thomas - 25.6.2007, 12:17 -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
||||||
|
|||||||
| Redstuff |
|
|||
![]() Команда REDSTUFF ![]() ![]() Профиль Группа: Участник Сообщений: 497 Регистрация: 27.5.2006 Где: Санкт-Петербург Репутация: нет Всего: 1 |
thomas, спасибо за помощь!
|
|||
|
||||
| tol05 |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1632 Регистрация: 21.12.2006 Где: Харьков Репутация: 11 Всего: 170 |
Примечание: специально для строк подключения в конфигурационных файлах введена секция
и юзать нужно, соответственно через ConfigurationManager.ConnectionStrings... так проще и типизированней
Это сообщение отредактировал(а) tol05 - 25.6.2007, 12:43 -------------------- На хорошей работе и сны хорошие снятся. |
||||
|
|||||
| thomas |
|
|||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 35 Всего: 65 |
tol05,
Спасибо брат. Век живи век учись. А нашему буржуйскому преподу -1. -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
|||
|
||||
| Redstuff |
|
|||
![]() Команда REDSTUFF ![]() ![]() Профиль Группа: Участник Сообщений: 497 Регистрация: 27.5.2006 Где: Санкт-Петербург Репутация: нет Всего: 1 |
thomas, можно подробней о XML "коде файла конфигурации" а то я даж не знаю куда его подключать. А то интересно и такой способ узнать.
А я сделал может немного коряво, но работает.
Заполняю текстовые поля: сервер, имя БД, название таблицы. Подключаюсь и в датагрид выводиться таблица. Хочу усовершенствовать: - добавить ComboBox для сервера, тип аутентификации.... - при выборе аутентификации где нужно вводить пароль и логин становились доступны эти поля - чтобы был список всех доступных баз данных и обновлялся онлайн при выборе сервера (вот с этим прошу вашей помощи) - список таблиц при выборе БД |
|||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 2 Всего: 186 |
Нажимаешь Add Item... => Application Configuration File или не помню как там он называется. У тебя появляется файл app.config. При компиляции он автоматически копируется в директорию с приложением и переименовывается в имя_приложения.eye.config. Вот в этот файл и нужно засунуть твой XML с параметрами конфигурации.
А вообще-то, пора научиться пользоваться Google и MSDN: http://msdn2.microsoft.com/en-us/library/m...192(VS.80).aspx Добавлено через 2 минуты и 36 секунд Да, кстати, Модератор: одна тема - один вопрос! |
|||
|
||||
| Redstuff |
|
|||
![]() Команда REDSTUFF ![]() ![]() Профиль Группа: Участник Сообщений: 497 Регистрация: 27.5.2006 Где: Санкт-Петербург Репутация: нет Всего: 1 |
Exception, спасибо.
Поиском пользуюсь, но не всегда нахожу то что нужно... Поиск помогает только тогда, когда точно знаешь чего искать (нужно ведь правильный запрос еще задать)... |
|||
|
||||
| Redstuff |
|
||||||||||
![]() Команда REDSTUFF ![]() ![]() Профиль Группа: Участник Сообщений: 497 Регистрация: 27.5.2006 Где: Санкт-Петербург Репутация: нет Всего: 1 |
Чето не могу ника разобраться
добавил в файл app.config изменив на свои параметры: Data Source: SERVER\SQLEXPRESS (Name Server) Initial Catalog: Pubs (Name DataBase) Integrated Security: true (Аутентификация Windows)
Вот весь проект:
Выдает такую ошибку: The name 'ConfigurationManager' does not exist in the current context Exception на мсдн еще хуже (( если честно... |
||||||||||
|
|||||||||||
| tol05 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1632 Регистрация: 21.12.2006 Где: Харьков Репутация: 11 Всего: 170 |
У тебя в проекте reference на System.Configuration.dll добавлена? Если да, то давай код конфигурационного файла. Смотреть надо...
-------------------- На хорошей работе и сны хорошие снятся. |
|||
|
||||
| Redstuff |
|
|||
![]() Команда REDSTUFF ![]() ![]() Профиль Группа: Участник Сообщений: 497 Регистрация: 27.5.2006 Где: Санкт-Петербург Репутация: нет Всего: 1 |
tol05, ага ее не хватало. Добавил теперь все ок! Спасибо!!!
Теперь достаточно менять файл App.config чтобы подключаться к любому другому серверу и бд, правильно? |
|||
|
||||
| tol05 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1632 Регистрация: 21.12.2006 Где: Харьков Репутация: 11 Всего: 170 |
да. Это и самый правильный способ. Вплоть до того, что можно у приложений менять конфиги местами или менять конфиги программно из стороннего приложения, и тем самым управлять их работой
-------------------- На хорошей работе и сны хорошие снятся. |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [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. |