|
|
|
теоретический вопрос
|
|||
|---|---|---|---|
|
#18+
возникла делемма откуда осуществлять поиск и фильтрацию данных? с внутренних DataTable или непосредственно с БД? в моем случае DataTable заполняется при запуске программы и есть кнопка Refresh, при нажатие на которую DataTable перезаполняется с БД. то есть: 1)если осуществлять поиск из DataTable, то возможно упустить какие-либо данные; 2)если каждый раз перезаполнять БД перед поиском, то со временем это станет загружать сеть; 3)если же искать в БД и возвращать результат, то он нужно проверять наличие этой записи в DataTable и дописовать её соответсвенно туда, если записи там ещё не оказалось. в случае не поиска, а фильтрации, результатом может оказаться не одна запись, а 100 и более, что может замедлить процесс. 4)возможно есть какой-нибудь вариант, чтобы при соединение из БД подгружались недостающие записи. это было бы идеально. в моем случае БД обновляется относительно постоянно(пока около 10 - 40) новых записей в день, причем заносятся они в течение всего дня. в общем, хотелось бы услышать какой из вариантов лучще или может есть ещё варианты. заранее всем спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2006, 09:59 |
|
||
|
теоретический вопрос
|
|||
|---|---|---|---|
|
#18+
ты таблице с помощью чего заполняешь??? у dataAdapter есть метод update. я пользуюсь OleDbDataAdapter я думаю update то что нужно, хотя могу и ошибаться, посмотри может подойдет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2006, 11:10 |
|
||
|
теоретический вопрос
|
|||
|---|---|---|---|
|
#18+
DataAdapter.Update() вроде как наоборот дописовает в БД новые данные. вот наоборот бы как-нибудь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2006, 11:38 |
|
||
|
теоретический вопрос
|
|||
|---|---|---|---|
|
#18+
> 1)если осуществлять поиск из DataTable, то возможно упустить > какие-либо данные; правильно > 2)если каждый раз перезаполнять БД перед поиском, то со временем это > станет загружать сеть; не понял, что значит "перезаполнять БД"? > 3)если же искать в БД и возвращать результат, то он нужно проверять > наличие этой записи в DataTable и дописовать её соответсвенно туда, если > записи там ещё не оказалось. с какой целью? Перезаполняешь полностью таблицу да и всё > в случае не поиска, а фильтрации, результатом может оказаться не одна > запись, а 100 и более, что может замедлить процесс. потешил...кстате, а чем собстна поиск от фильтрации отличаеца? > 4)возможно есть какой-нибудь вариант, чтобы при соединение из БД > подгружались недостающие записи. это было бы идеально. опять таки не понятно, для чего? Поиск вообще лучше организизовывать на стороне БД так как она лучше под это дело заточена, но ориентироваться надо по-обстоятельству. Например - следует учитывать объем данных, по которому будет осуществляться поиск, сложность запросов, частота обновления данных и т.д. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2006, 11:46 |
|
||
|
теоретический вопрос
|
|||
|---|---|---|---|
|
#18+
метод ашдд насколько я понимаю не только заполняет, но и обновляет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2006, 11:49 |
|
||
|
теоретический вопрос
|
|||
|---|---|---|---|
|
#18+
метод fill , а не ашдд :) кстати говоря такая мысль пришла! почему бы не делать так "если же искать в БД и возвращать результат, то он нужно проверять наличие этой записи в DataTable и дописовать её соответсвенно туда, если записи там ещё не оказалось. " а данные потом в таблице просто не обновлять fill. за fill не ручаюсь, надо проверить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2006, 11:54 |
|
||
|
теоретический вопрос
|
|||
|---|---|---|---|
|
#18+
2Лиман Артём Лиман Артём> 2)если каждый раз перезаполнять БД перед поиском, то со временем это > станет загружать сеть; не понял, что значит "перезаполнять БД"? DataAdapter.Fill. Лиман Артём> 3)если же искать в БД и возвращать результат, то он нужно проверять > наличие этой записи в DataTable и дописовать её соответсвенно туда, если > записи там ещё не оказалось. с какой целью? Перезаполняешь полностью таблицу да и всё Если БД большая, то каждый раз при поиски/фильтрации перезаполнять всю таблицу может оказаться долго. Лиман Артём> в случае не поиска, а фильтрации, результатом может оказаться не одна > запись, а 100 и более, что может замедлить процесс. потешил...кстате, а чем собстна поиск от фильтрации отличаеца? в общем ничем, просто я назвал поиском, то что возвращает одну запись. Лиман Артём> 4)возможно есть какой-нибудь вариант, чтобы при соединение из БД > подгружались недостающие записи. это было бы идеально. опять таки не понятно, для чего? возможно я ошибаюсь, но это оптимизировало бы работы с БД. Лиман АртёмПоиск вообще лучше организизовывать на стороне БД так как она лучше под это дело заточена, но ориентироваться надо по-обстоятельству. Например - следует учитывать объем данных, по которому будет осуществляться поиск, сложность запросов, частота обновления данных и т.д. в том и то проблема. предположительное решение: осуществлять поиск/фильтрацию по БД, результат записовать во временный DataTable, и DataGridView = временный DataTableTemp на время установки фильтра. но тут возникает вопрос 1)просто после фильтрации/поиска перезаполнять таблицу. 2)осуществлять проверку на наличие новых записей,если в результате оказались новые данные, то дописовать эти данные уже в НЕвременный DataTable 3)осуществлять проверку на наличие новых записей,если в результате оказались новые данные, то просто перезаполнять DataNable. 2БНА БНА метод fill , а не ашдд :) кстати говоря такая мысль пришла! почему бы не делать так "если же искать в БД и возвращать результат, то он нужно проверять наличие этой записи в DataTable и дописовать её соответсвенно туда, если записи там ещё не оказалось. " а данные потом в таблице просто не обновлять fill. за fill не ручаюсь, надо проверить тоже склоняюсь к этому варианту, но хотелось послушать ещё мнения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2006, 12:18 |
|
||
|
теоретический вопрос
|
|||
|---|---|---|---|
|
#18+
> > Если БД большая, то каждый раз при поиски/фильтрации перезаполнять > всю таблицу может оказаться долго. а если БД большая, то её что ли всю в DataTable загоняешь? Ужасть. Если данных действительно много, то рекомендую использовать постраничную выборку причём средствами сервера, на этом сайте даже статейка имееца - как это лучше сделать. > в общем ничем, просто я назвал поиском, то что возвращает одну > запись. первый раз такое определение слову поиск слышу > возможно я ошибаюсь, но это оптимизировало бы работы с БД. интересно, каким это способом? > 1)просто после фильтрации/поиска перезаполнять таблицу. склоняюсь к этому > 2)осуществлять проверку на наличие новых записей,если в результате > оказались новые данные, то дописовать эти данные уже в НЕвременный > DataTable > 3)осуществлять проверку на наличие новых записей,если в результате > оказались новые данные, то просто перезаполнять DataNable. а вот это честно говоря немного напрягает... Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2006, 12:57 |
|
||
|
|

start [/forum/topic.php?fid=17&msg=34049285&tid=1353107]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
63ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
| others: | 220ms |
| total: | 398ms |

| 0 / 0 |
