Pozdrav
Malo pocinjem da radim C# i ucim ADO.NET
Hocu da napravim neki DataGrid (windows.Forms) koji bi mogao da radi "pametno ucitavanje" u smislu, da kad imam npr. 12 prikazanih vrsta, da iz baze ucitam samo 12 i onda kad korisnik skroluje da ucitavam naredni 1 ili vise rekorda u zavisnosti od navigacije.
Iz razloga toga sto mi xxxDataAdapter.Fill(dataSet) radi previse sporo, posto on fetchuje sve podatke iz tabele, mislio sam da cu moci iskoristiti xxxDataReader za tako nesto ovako:
while (DataReader.Read() && (rowsAdded < visibleRows))
{
AddRow();
rowsAdded++;
}
i onda kad skrolne uradim jos jedan DataReader.Read()
Ali koliko sam procitao xxxDataReader mora da uradi Close() jer je inace xxxConnection u stanju Fetching, i ne mogu da radim BeginTransaction() i update u bazu posto stanje mora biti ConnectionState.Open , odnosno to mi se desava kad radim sa OleDbDataReader i OleDbDataConnection.
A kad uradim DataReader.Close() onda ne mogu raditi postepeni fetching vec moram ucitati sve odjednom sto daje bar neko ubrzanje u odnosu na DataAdapter.Fill(dataSet) ali ipak ne zadovoljava. Je li ima neko rjesenje za ovo?
Hvala,
Radovan