Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

UIB.query.open.count

[es] :: Pascal / Delphi / Kylix :: UIB.query.open.count

[ Pregleda: 1806 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Miroslav Ćurčić
ex mVeliki
Novi Sad

Član broj: 19034
Poruke: 1118
*.adsl.beotel.net.



+19 Profil

icon UIB.query.open.count16.11.2007. u 21:28 - pre 199 meseci
Koristim UIB za čitanje baze sa
Code:

var Query: TJvUIBQuery ;
Query.SQL.text:= 'SELECT ....';
Query.Open;

Kako da sada pročitam koliko redova je pronađeno u bazi, dali ima neki metod ili polje odakle to mogu pročitati.

Ideja je da učitam sve rezultate u dinamički dvodimenzionalni niz ali ne bih da (kao sada) svaki put na početku petlje pozivam SetLength da bih povećao prostor u nizu za još jedan red, bojim se da će za veći broj rezultata ta stalna realokacija memorije znatno usporiti program.
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
 
Odgovor na temu

Miroslav Ćurčić
ex mVeliki
Novi Sad

Član broj: 19034
Poruke: 1118
*.adsl.beotel.net.



+19 Profil

icon Re: UIB.query.open.count20.11.2007. u 16:35 - pre 199 meseci
Metoda Last pa čitanje RecordCount-a je odradila posao.
Ma pravim svoju biblioteku funkcija, kao interface ka UIBu da bi što više skratio kod u ostatku projekta.
Konkretno pitanje je bilo za funkciju čitanja tabela gde joj prosledim sql instrukciju (select .. from ..) a ona mi vrati pročitane podatke. Nekako mi je najjednostavnije bilo da to smestim u dinamički niz mada je i varijanta s tList bila u opticaju. Kako bilo, ovo sad radi kako treba.
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: UIB.query.open.count20.11.2007. u 18:09 - pre 199 meseci
> Konkretno pitanje je bilo za funkciju čitanja tabela gde joj prosledim sql instrukciju (select .. from ..) a ona mi vrati pročitane podatke. Nekako mi
> je najjednostavnije bilo da to smestim u dinamički niz mada je i varijanta s tList bila u opticaju. Kako bilo, ovo sad radi kako treba.

Zar nije jednostavnije da te opšte funkcije vraćaju TDataSet? U svakom slučaju, prebacivanjem u niz usporava se program, ako je rešenje opšte onda su verovatno članovi niza string ili variant što još dodatno usporava.
 
Odgovor na temu

Miroslav Ćurčić
ex mVeliki
Novi Sad

Član broj: 19034
Poruke: 1118
*.adsl.beotel.net.



+19 Profil

icon Re: UIB.query.open.count20.11.2007. u 21:50 - pre 199 meseci
Daleko od toga da je jednostavnije,
time komplikujem prijemnu stranu a sve ovo radim da bih nju što više pojednostavio, trenutno samo jednom instrukcijom pokažem da dvodimenzionani niz i dobio sam podatak.

Ali jesi u pravu za usporavanje jer sve podatke prvo lagerujem u taj niz da bih ih onda ili obradio ili napunio druge kontrole, a tu će biti čestih konverzija tipova.
Baš ću probati to s datasetom, pa da uporedim.

Koristio sam do sada TJvUIBQuery za čitanje jer sam samo za njega našao primer upotrebe (još sam na "vi" sa FB-om), sad sam našao i probaću TJvUIBDataSet ako si na njega mislio.
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: UIB.query.open.count21.11.2007. u 01:09 - pre 199 meseci
> Daleko od toga da je jednostavnije, time komplikujem prijemnu stranu a sve ovo radim da bih nju što više pojednostavio, trenutno
> samo jednom instrukcijom pokažem da dvodimenzionani niz i dobio sam podatak.

Šta je ta prijemna strana, neki drugi program na mreži? Ne znam šta dalje radiš sa tim podacima, da li su to neka računanja ili prikaz prema korisniku ali u svakom slučaju prebacivanje u niz nije dobro rešenje, nestandardno je, nefleksibilno i neproširivo.

> Koristio sam do sada TJvUIBQuery za čitanje jer sam samo za njega našao primer upotrebe (još sam na "vi" sa FB-om), sad sam našao i
> probaću TJvUIBDataSet ako si na njega mislio.

TDataSet je osnovna klasa iz koje su izvedene sve DB klase, dakle i TTable, TQuery, TIBQuery, TJvUIBQuery itd. Dakle ti ćeš u funkciji koja izvršava upit nad bazom kreirati instancu TJvUIBQuery dobiti željene podatke i njih vratiti pozivaocu u toj istoj komponenti ali kao TDataSet objekat. Kasnije možeš dodati funkciju koja izvršava upit nad Oracle bazom i nju takođe vratiti u TDataset obliku tako da krajnji kod koji te podatke obrađuje se neće menjati. I da napomenem, da ovo nije rešenje koje bih preporučio, još uvek ne razumem organizaciju tog programa tako da ne mogu dati pravu preporuku.
 
Odgovor na temu

nikola.j
Nikola Janković

Član broj: 15712
Poruke: 85
*.ptt.yu.



Profil

icon Re: UIB.query.open.count22.11.2007. u 12:07 - pre 199 meseci
Citat:

TDataSet je osnovna klasa iz koje su izvedene sve DB klase, dakle i TTable, TQuery, TIBQuery, TJvUIBQuery itd.


TjvUIBQuery nije izveden iz TDataSet-a.
UIB je nastao u periodu kad je Delphi Personal izdavan bez DB podrške.
Zbog toga postoji Alex's DataSet, nezavisni dodatak UIB-u, kao zamena za njegov dataset koji je read-only.
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: UIB.query.open.count22.11.2007. u 21:17 - pre 199 meseci
> TjvUIBQuery nije izveden iz TDataSet-a.

U pravu si, ali nema veze ima TJvUIBDataSet koji je naslednik TDataSeta tako da može napraviti tu generalizaciju, ako sam ga razumeo njemu samo treba za prikazivanje podataka.
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: UIB.query.open.count

[ Pregleda: 1806 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.