Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Базы данных под .NET > ProgresBar


Автор: Nestap 12.10.2008, 11:00
Ribyata podscajite kak delati tipa kak u browsera protes zagruschi danih iz Mysql? smile 

Автор: jonie 12.10.2008, 13:07
сначала считаешь count(*) from source
потом заводишь DataReader уже на нормальный запрос
но лучше делать, конечно не так.
положим есть запрос
Код

select * from table t1
 inner join table2 t2 on t1.id=t2.id and t1.data>'20050505'

не гоже его считать, согласны?)
тогда просто делаем так:
Код

select *,count(*) as __COUNT from table t1
 inner join table2 t2 on t1.id=t2.id and t1.data>'20050505'
итого одним запросом имеем сколько данных у нас в результате.
а дальше уже DataReader-ом читаем по row-ам запроса, отображая результат.

Автор: Nestap 12.10.2008, 15:18
jonie, 
nu citatati mi dapustem mojem
  no esli naprimer database sidit Mysql  i v table 100000 rows eta zaidiot nescolica vremea nu stob eta vremea progresBar nacil rabotati!.....

Автор: jonie 12.10.2008, 17:39
1. используйте галочку транслит

2. ну а в чем проблема?? будет у тебя 1Е6 записей. датаридер считает под одной записи за Read()
ну и считывая по одной записи обновляйте прогресс бар.

Автор: Nestap 12.10.2008, 18:01
jonie, 

vidishli esli staviti tam For() ili While() eta zagruzit sistemu. a po drugomu nikak nelzea?

Автор: jonie 12.10.2008, 22:41
ну не загрузит. выноси это действие в отдельный поток, в нем и пусть данные тащутся. опять же не вижу проблем.. если очень хочется то вставить Thread.Sleep или уменьшить приоритет потока можно

Автор: Nestap 13.10.2008, 19:08
jonie, 
nojes dati primer plizzz

Автор: Partizan 13.10.2008, 19:41
Nestap, http://support.microsoft.com/kb/815804

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)