|
|
|
Как грамотно коннектится к базе данных ?
|
|||
|---|---|---|---|
|
#18+
Добрый вечер уважаемые гуру ! vs2005. Есть типизированный DataSet (xsd), в нем накиданы в режиме дизайнера "TableAdapter"-ы, есть куча форм связных с этим датасетом, сконфигурированы гриды... Когда все все это конфигурировалось, связь с базой шла под моим логинм на sql-сервере. А задача запрашивать у пользователя логин и пароль(на sql-сервер) при старте приложения и коннектися уже под ним. Самое простое — сформировать новую строчку соединения и вручную подсовывать ее каждому "TableAdapter"-у. Но сдается мне что это неправильно... да и TableAdapter-ов много, и датасет ни один. Была мысль заменить Properties.Settings.Default.MyConnectionString , но она readonly Как правильно поступить ? Спасибо ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2007, 00:22 |
|
||
|
Как грамотно коннектится к базе данных ?
|
|||
|---|---|---|---|
|
#18+
Спросить параметры подключения у юзера. Сформировать строку подключения. Сохранить ее в в каком-либо объекте доступном для всех адаптеров (например, public-свойство статического класса). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2007, 19:51 |
|
||
|
Как грамотно коннектится к базе данных ?
|
|||
|---|---|---|---|
|
#18+
Это все понятно ! А дальше ? мне же придется в run-time подсовывать это свойтво каждому "TableAdapter"-у, а если будут добавляться новые ? нужно писать много лишнего кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2007, 14:18 |
|
||
|
Как грамотно коннектится к базе данных ?
|
|||
|---|---|---|---|
|
#18+
sarumanнужно писать много лишнего кода. Лишнего писать не нужно, пишите по делу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2007, 16:36 |
|
||
|
Как грамотно коннектится к базе данных ?
|
|||
|---|---|---|---|
|
#18+
у тебя выход один :) плохой и не удобный. скорее это вход , только в жо.. TABLETableAdapter.Connection.ConnectionString = GLBStrConnect и так поступаешь со всеми адаптерами при загрузке программы. GLBStrConnect формируешь как тебе надо- это строка подключения. лучше прочитай книжку, о том как надо.а то ты будешь часто нырять в одно место :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2007, 09:25 |
|
||
|
Как грамотно коннектится к базе данных ?
|
|||
|---|---|---|---|
|
#18+
Этот способ я знаю. И спрашиваю: КАК надо ? Книжки я читал, там все ручками делают, примерно как вы предложили. А если объектов доступа к данным сотни ? Тоже ручками ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2007, 14:10 |
|
||
|
Как грамотно коннектится к базе данных ?
|
|||
|---|---|---|---|
|
#18+
так как я предложил уже переделывают, но не делают.это не способ как делать правильно. у вас сотни объектов по какой причине? изза не удачного использования мастеров? или вы мне предлагаете ответить на вопрос, как лучше вам сделать? я не смог бы на него ответить, потому что времени нету, и вы деталей не показали. как идея, это сделать класс с методами типа shared, которые отвечают за изымание данных из базы. точнее не могу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2007, 15:14 |
|
||
|
Как грамотно коннектится к базе данных ?
|
|||
|---|---|---|---|
|
#18+
База данных имеет свыше ста хранимых процедур которые возвращают _разные_ данные. Я хочу имет обертки (в качестве Table-adapter-ов) этих процедур в своем проекте. И я спрашивал как мне у всех их подменить Connection string. Если вы не поняли это из моего первого сообщения, то уж извините :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2007, 15:37 |
|
||
|
Как грамотно коннектится к базе данных ?
|
|||
|---|---|---|---|
|
#18+
уважаемый, я ж привел код выше Код: plaintext 1. не приходило мысль, что нужна универсальная обертка для любой процедуры? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2007, 16:10 |
|
||
|
Как грамотно коннектится к базе данных ?
|
|||
|---|---|---|---|
|
#18+
sarumanБыла мысль заменить Properties.Settings.Default.MyConnectionString , но она readonly Спасибо ! а если дописать отдельный метод-сеттер типа public void SetMyConnectionString(string myConnectionString) { this["MyConnectionString"] = myConnectionString } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2007, 16:10 |
|
||
|
Как грамотно коннектится к базе данных ?
|
|||
|---|---|---|---|
|
#18+
и зачем их иметь все сразу? а потом будете писать, управление всем этим скопищем? зачем столько абстракций над sql командами.попроще чтоли подход надо найти. и откройте код, в котором происходит сцепление sp сервера с tableadapter. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2007, 16:19 |
|
||
|
Как грамотно коннектится к базе данных ?
|
|||
|---|---|---|---|
|
#18+
AlexeiKуважаемый, я ж привел код выше Код: plaintext 1. не приходило мысль, что нужна универсальная обертка для любой процедуры? и повторять этот код столько раз, сколько у меня TABLETableAdapter-ов ? а их будет много.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2007, 16:22 |
|
||
|
Как грамотно коннектится к базе данных ?
|
|||
|---|---|---|---|
|
#18+
а если вместо GLBStrConnect взять какой нибудь объект? или функцию? вам придеться отрицать многие варианты,которые вам предложат, потому что никакой не исправит ситуацию кординально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2007, 16:41 |
|
||
|
Как грамотно коннектится к базе данных ?
|
|||
|---|---|---|---|
|
#18+
saruman AlexeiKуважаемый, я ж привел код выше Код: plaintext 1. не приходило мысль, что нужна универсальная обертка для любой процедуры? и повторять этот код столько раз, сколько у меня TABLETableAdapter-ов ? а их будет много.... Попробуйте так: В окне дизайнера Settings нажмите "View Code" - студия создаст файл Settings.cs -- вторая часть partial-класса Settings. А в нем пропишите вот такого типа код: (если SQL server, конечно :) ) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2007, 17:12 |
|
||
|
Как грамотно коннектится к базе данных ?
|
|||
|---|---|---|---|
|
#18+
Гениально! Это именно то что было нужно, СПАСИБО !!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2007, 17:40 |
|
||
|
Как грамотно коннектится к базе данных ?
|
|||
|---|---|---|---|
|
#18+
А что делать с этим? //------------------------------------------------------------------------------ // <auto-generated> // Этот код создан программой. // Исполняемая версия:2.0.50727.42 // // Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае // повторной генерации кода. // </auto-generated> //------------------------------------------------------------------------------ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2007, 12:48 |
|
||
|
Как грамотно коннектится к базе данных ?
|
|||
|---|---|---|---|
|
#18+
Решилось вынесением partial части класса в отдельный файл. Спасибо ОГРОМНОЕ "Глас народа". Не мог найти достойного решения уже оченьпродолжительное время. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2007, 13:00 |
|
||
|
Как грамотно коннектится к базе данных ?
|
|||
|---|---|---|---|
|
#18+
Нашел еще простой способ открываем Settings не обычным редактором, а редактором исходного кода, меняем Scope="Application" на Scope="User", перекомпилируем, у данного свойства появляется setter и соответсвенно возможность менять значение в рантайме (в любой момент). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2007, 13:19 |
|
||
|
Как грамотно коннектится к базе данных ?
|
|||
|---|---|---|---|
|
#18+
ДмитрийДроздНашел еще простой способ открываем Settings не обычным редактором, а редактором исходного кода, меняем Scope="Application" на Scope="User", перекомпилируем, у данного свойства появляется setter и соответсвенно возможность менять значение в рантайме (в любой момент). Не очень хорошо. :) Надо каждый раз при выходе очищать значение connection string, а то строка с паролем будет прописываться куда-то в ApplicationSettings. Ну а при аварийном выходе так там и останется... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2007, 14:02 |
|
||
|
Как грамотно коннектится к базе данных ?
|
|||
|---|---|---|---|
|
#18+
Никто не заcтавляет делать Save сеттингов, в противном случае они не сохраняются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2007, 14:36 |
|
||
|
|

start [/forum/topic.php?fid=17&msg=34664760&tid=1352695]: |
0ms |
get settings: |
8ms |
get forum list: |
22ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
| others: | 197ms |
| total: | 337ms |

| 0 / 0 |
