Hvala na vremenu, itf.
Radim sa BCB + Interbase, sve je u jednom *.GDB fajlu. Imam Data Modul u kome držim sve tabele, TS, DS i storedprocedures. Onda uključujem heder tog Data Modula gde treba i koristim objekte.
Dakle, da, sve je u memoriji, aktivno, i samo čeka da ga koristim.
Tabele čak rade normalno. Sad sam napravio jednu drugu formu sa DBGridom koja isto tako šalje razne upite tokom rada i sve se prikazuje bez problema. Jedino je znači to osvežavanje problematično. Dakle radi sve kada isključim pa opet startujem program. No.. evo sad sam probao čak da uradim open/close same baze i opet ista situacija. Nešto je najverovatnije sa samom formom ili čime već.
Dobro, opisaću opet njen rad. Iz glavne forme je pozivam sa ShowModal, a pre toga pozivam nad njom novoformirani SQL upit:
Code:
void __fastcall TForm1::Up1Click(TObject *Sender)
{
FUpit->upd();
FUpit->ShowModal();
}
// ...
void TFUpit::upd()
{
DMod->QUpit->Close();
DMod->QUpit->ParamByName("DAT")->AsInteger = GenDateShort();
DMod->QUpit->Prepared = true;
DMod->QUpit->Active = true;
DMod->QUpit->Open();
TUput->Refresh(); // TDBGrid
}
Sve radi kako treba, čak i kada ima više parametara koji variraju. Pak, novi unosi ne bivaju uezti u obzir. Ne, ne pomaže ni ako pre i posle sređivanja upita pozovem Close/Open nad jedinom tabelom iz koje se izvlače podaci.. heh :)
Probao sam i da onemogućim monotonost parametra, pošto nešto možda čeka da se isti promeni.
Code:
static int add = 0;
add++;
// ...
DMod->QUpit->ParamByName("DAT")->AsInteger = GenDateShort() + add;
Bez uspeha.
Ipak se ++uje.