|
19 / 19 / 2
Регистрация: 28.10.2010
Сообщений: 296
|
||||||
Подключение к БД используя sql-server, форма подвисает во время запроса02.04.2012, 19:14. Показов 4928. Ответов 20
Метки нет (Все метки)
Добрый день, уважаемые форумчане. Столкнулся с такой проблемой. Пишу многооконное приложение для работы с БД. Соединение с БД делаю так
Добавил в конструктор формы новый параметр типа SqlConnection, для того что бы постоянно не создавать новое подключение. Но дело в том что приложение подвисает (системных ресурсов хватает) и при чем на каждой форме, когда я выполняю какой-либо запрос. По чему так ? Я думал если я буду передавать старое соединение с БД в каждый модуль, то прога не будет зависать. Посоветуйте что можно сделать для улучшения! Заранее благодарен!
0
|
||||||
| 02.04.2012, 19:14 | |
|
Ответы с готовыми решениями:
20
ODBC SQL Server Driver. Истекло время ожидания запроса
Подключение Android-приложения к SQL Server (MS SQL) |
|
19 / 19 / 2
Регистрация: 28.10.2010
Сообщений: 296
|
||
| 02.04.2012, 20:16 [ТС] | ||
|
Может я не так делаю общее соединение для всех форм. Подскажите может есть какой другой способ, может он и увеличит быстродействие.
0
|
||
|
Неадекват
1501 / 1237 / 248
Регистрация: 02.04.2010
Сообщений: 2,807
|
|
| 02.04.2012, 20:18 | |
|
Используем строго-типизированные датасеты и не паримся. Если запросы не очень сложные производительность будет вполне на уровне.
0
|
|
|
19 / 19 / 2
Регистрация: 28.10.2010
Сообщений: 296
|
|
| 02.04.2012, 20:21 [ТС] | |
|
подскажите как ним пользоваться, на msdn нашет только для LINQ. Приведите пример пожалуйста для sql.
0
|
|
|
19 / 19 / 2
Регистрация: 28.10.2010
Сообщений: 296
|
||
| 02.04.2012, 23:48 [ТС] | ||
|
Добавлено через 2 часа 28 минут Подскажите как создать типизированный dataset и потом выполнят запросы с его использованием?? Добавлено через 39 минут Разобрался с типизированным DataSet, но все равно подвисает. Походу это так и есть. Ничего не изменилось .
0
|
||
|
19 / 19 / 2
Регистрация: 28.10.2010
Сообщений: 296
|
|||||||
| 03.04.2012, 11:51 [ТС] | |||||||
|
Получаеться что программа только в начале на пару секунд подвисает, почти не заметно, а потом работает как часы. Добавлено через 10 минут Хотел спросить а в каком виде лучше использовать запросы, что бы они быстрее работали? я использую так
Возник еще такой вопрос, а как же связать дочернюю и родительскую таблицы через типизированный DataSet? не могу понять как их связовать, пришел с Delphi там все намного легче.
0
|
|||||||
|
|
||||
| 03.04.2012, 12:56 | ||||
|
Нужно вызывать SqlConnection.Close() когда закончили работу с БД на главной форме. Поставьте ключ Pooling = True и установите размер пула >0. В этом случае закрытые соединения не будут "умирать" сразу а будут помещаться в Pool и извлекаться из него же по мере надобности. Хотя ваш вариант тоже будет работать. Его недостаток - через одно соединение нельзя выполнять более 1 запроса одновременно.
Но лучше всего использовать хранимые процедуры.
0
|
||||
|
19 / 19 / 2
Регистрация: 28.10.2010
Сообщений: 296
|
||||||
| 03.04.2012, 23:39 [ТС] | ||||||
|
Я тут чуть-чуть почитал и понимаю так - если мы используем не типизированный DataSet то нам нужно устанавливать релейшины, а если типизированный то не нужно. Ну вот только как пользоваться типизированным нигде не могу найти.
Добавлено через 2 часа 32 минуты или я что-то не так понимаю? Добавлено через 1 час 51 минуту Уважаемые форумчане вот нашел в одной книги такое
Какое свойство можно использовать у DataGridView?
0
|
||||||
|
414 / 265 / 25
Регистрация: 03.10.2011
Сообщений: 1,094
|
|
| 03.04.2012, 23:51 | |
|
Попробуйте вот по этому разобраться.
http://msdn.microsoft.com/ru-r... 84432.aspx Как не странно до сих пор не встречал нормальных мануалов по работе с типизированным датасетом и настройкой контролов под него. А хотя нет видел Гудка))) (это видео курс), но лично мне такой подходи к изучению не нравится - лучше читать книги (быстрее).
0
|
|
|
19 / 19 / 2
Регистрация: 28.10.2010
Сообщений: 296
|
|
| 04.04.2012, 00:17 [ТС] | |
|
спасибо гляну сейчас!
Если бы кто-то код скинул с примерчиком как соеденить 2 таблице, при чем уже связанные в БД! Добавлено через 23 минуты дайте примерчик, пожалуйста!
0
|
|
|
414 / 265 / 25
Регистрация: 03.10.2011
Сообщений: 1,094
|
|
| 04.04.2012, 00:19 | |
|
Примерчик как с помощью типизированного датасета отобразить на форме два грида один из которых должен отобразить связанные записи?
0
|
|
|
19 / 19 / 2
Регистрация: 28.10.2010
Сообщений: 296
|
||
| 04.04.2012, 00:21 [ТС] | ||
|
0
|
||
|
414 / 265 / 25
Регистрация: 03.10.2011
Сообщений: 1,094
|
|
| 04.04.2012, 00:26 | |
|
Ура! нашел!
Смотреть видеоролик
вот это был мой первый урок по типизированным датасетам, а там дальше я уж сам разобрался. Не больше 10 мин и ты в курсе как настроить)) и кодить не надо ничего
1
|
|
|
19 / 19 / 2
Регистрация: 28.10.2010
Сообщений: 296
|
|||||||
| 04.04.2012, 09:04 [ТС] | |||||||
|
спасибо, сейчас посмотрю!
Добавлено через 8 часов 36 минут
0
|
|||||||
|
19 / 19 / 2
Регистрация: 28.10.2010
Сообщений: 296
|
|||||||
| 05.04.2012, 17:54 [ТС] | |||||||
|
спасибо попробую!
Добавлено через 35 минут Попробовал) Ну не порадовало меня пул соединение) Моему приложению не нужно будет работать с кучей пользователей он простенькое и требует быстрого доступа к базе. Потому считаю что для моего варианта лучше всего использовать одно соединение и передавать его в новые модули. Это на много повысит производительность. Добавлено через 7 часов 3 минуты Возник еще такой вопрос, как поместить в dataset таблицу, имя которой будет выбрано в combobox, получить то что выбрано в комбобоксе могу, а вот добавить в dataset ту таблицу что надо не знаю как. Думал так
Подскажите как это можно сделать? спасибо!
0
|
|||||||
|
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
|
|
| 05.04.2012, 19:34 | |
|
по правилам один вопрос на тему.
я бы просто сделал массив с запросами и по выбору таблицы в комбобоксе делал бы соотвествующий запрос. хотя опять таки по каждый раз выбирая ты будешь грузить данные. потому рекомендую загрузить все таблицы при загрузке, а при выборе в комбобоксе делать новую привязку в гриде
0
|
|
| 05.04.2012, 19:34 | |
|
Помогаю со студенческими работами здесь
20
[Microsoft][ODBC SQL Server Driver][SQL Server]Login failed- User: Reason: Not defined as a valid user of a trusted SQL Server connection
Вывод запроса SQL Server в C# Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|