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

Borland C++B ADO, Navigator i DBGrid

[es] :: C/C++ programiranje :: Borland C++B ADO, Navigator i DBGrid

[ Pregleda: 2594 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

itf
Zagreb

Član broj: 59794
Poruke: 993
*.fsb.hr.



+9 Profil

icon Borland C++B ADO, Navigator i DBGrid13.10.2005. u 15:26 - pre 225 meseci
Vec duze vrijeme radim jedan slozen projekt sa ADO komponentama. Koristim bazu podataka koja ima 14 tablica i zbog jednostavnosti unosa i baratanja sa zapisima sve sam realizirao sa DBGridom i Navigatorom koji koristim za baratanje sa zapisima.

Prilikom kreiranja novog zapisa zna mi se javiti greska:

"Row cannont be located for update. Some records have benn changed since it was last read..".

Ova greska se ne javlja ukoliko unos podataka realiziram interno pomocu funkcija Append i Post, ali onda za svaku tablicu (njih 14) moram raditi poseban prozor i zafrkavati se sa time. Da li se ovo moze ispraviti da mi se ta greska ne javlja a da ne kreiram zasebne prozore?



[Ovu poruku je menjao itf dana 13.10.2005. u 16:41 GMT+1]
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.nat-pool.po.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Borland C++B ADO, Navigator i DBGrid13.10.2005. u 18:21 - pre 225 meseci
Citat:

zbog jednostavnosti unosa i baratanja sa zapisima sve sam realizirao sa
DBGridom i Navigatorom koji koristim za baratanje sa zapisima.


Čekaj. Zašto će ti onda kod za Append() i Post() kada unos/ispravke/brisanje
realizujes sa TDBNavigator-om? U svakom slucaju koristi Insert() pre nego
Append().

Citat:

"Row cannont be located for update. Some records have benn
changed since it was last read..".


Ovakve greske sam imao nekada i ja, ali uvek je bio neki valjan razlog za to. Ne
secam se bas detalja. Za početak, otvori formu na kojoj si postavio tabele i
duplim klikom levog tastera misa na SVAKU tabelu posebno otvori mali tool prozor.
Na njemu desnim tasterom misa DODAJ SVA POLJA (Add all fields). Time ces
nazive polja dodati UNAPRED u header fajl, pa ce i program unapred znati cime
raspolaze... Mozda ti ovo nece resiti OVAJ problem, ali u buducnosti hoce mnoge
druge...

Takodje, radi bolje organizacije, tabele (TADOTable) i bazu (TADOConnection)
stavljaj u jednu TDataModule komponentu, a TDataSource komponente stavljaj
na formu zajedno sa TDBGrid/TDBEdit, ..., komponentama...

Citat:

Ova greska se ne javlja ukoliko unos podataka realiziram interno pomocu
funkcija Append i Post, [...]


Sigurno je nekakva greska do tvog koda... Imam i ja dosta upisa/izmena i brisanja
bez ikakve vizualne kontrole sa kojom je povezana, i to mi ne pravi nikakve
probleme.

U svakom slucaju razmisli o zatvaranju svih tabela koje nisu trenutno aktivne ili
ukljucene u nekakvu operaciju.

Takodje, ako imas nekakvu obradu sa tabelama a postoji neka vizuelna kontrola
koja je trenutno spregnuta, razmotri sledece:

Code:

TADOTable1->DisableControls()
// OBRADA ...
TADOTable1->EnableControls()


Takodje razmotri metode Requery() i/ili Refresh()

Citat:

[...] ali onda za svaku tablicu (njih 14) moram raditi poseban prozor i zafrkavati
se sa time. Da li se ovo moze ispraviti da mi se ta greska ne javlja a da ne
kreiram zasebne prozore?

Sigurno postoji logicno objasnjenje... Treba pronaci gde je logicka greska...


Pogledaj OBAVEZNO i ovde:
http://tinyurl.com/asaxe
 
Odgovor na temu

itf
Zagreb

Član broj: 59794
Poruke: 993
*.fsb.hr.



+9 Profil

icon Re: Borland C++B ADO, Navigator i DBGrid13.10.2005. u 18:30 - pre 225 meseci
Samo iz iskustva kazem da ako to unosim sa funkcijama Append i Post da onda radi bez problema. Jedino kad radim preko grida zafrkava.

Nemam nikakva koda. Jednostavno samo grid sluzi za unos podataka pomocu navigatora. Mislim da to ima veze sa defaultnim vriednostima nekih polja u tablici. Bas budem razmotrio ovaj link.

Sva su polja dodana. I ja sam se razmisljao oko toga da zatvaram tablicu kad zavrsi unos a da ju otvaram tek kad ga pocinjem... Ima tu dosta toga za razmotriti. Hvala

]

[Ovu poruku je menjao itf dana 13.10.2005. u 19:35 GMT+1]
 
Odgovor na temu

_VampiR_
Dejan Menges
Sarajevo, BiH

Član broj: 51402
Poruke: 83
217.199.128.*



Profil

icon Re: Borland C++B ADO, Navigator i DBGrid14.10.2005. u 10:56 - pre 225 meseci
Imao sam slicnih problema, i izgleda da je dosta bilo i do moje koncepcije i do nacina pristupa tablicama. Na kraju sam poceo koristiti SQL upite, uz obavezan COMMIT, i rijesio se belaja.

Kod mene je problem bio to sto ponekad (isti se problem javljao i sa ADO i sa BDE) sama kontrola ne izvrsi COMMIT, pa u slucaju pada programa tabele se prazne, odnosno ako neka druga funkcija drzi kontrolu nad tabelom izbacuje mi istu tu gresku.
:: Don't drink contaminated water - drink beer ::
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.nat-pool.po.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Borland C++B ADO, Navigator i DBGrid14.10.2005. u 20:19 - pre 225 meseci
Itf, zaboravih da pitam - da li si menjao CursorType (valjda se tako zove property)
, tj ono ClientSide ServerSide... Mislim da i to moze da zeza...
 
Odgovor na temu

itf
Zagreb

Član broj: 59794
Poruke: 993
*.adsl.net.t-com.hr.



+9 Profil

icon Re: Borland C++B ADO, Navigator i DBGrid15.10.2005. u 14:26 - pre 225 meseci
Nista nije mijenjano :)
 
Odgovor na temu

itf
Zagreb

Član broj: 59794
Poruke: 993
*.fsb.hr.



+9 Profil

icon Re: Borland C++B ADO, Navigator i DBGrid17.10.2005. u 11:46 - pre 225 meseci
Otkrio sam gdje su greske:

1. Svaka tablica treba imati primarni kljuc, pa cak iako vam on nicemu ne sluzi. Kad sam ga dodao stvar je djelomicno radila bez gresaka, no...

2. Access za svaki element tablice koji je Number ili Currency tipa stavlja default vrijednost 0. TO TREBA IZBRISATI jer DBGrid to ne registrira i javlja vec prethodne greske.

Kada se ovo dvoje napravi stvari rade bez problema. X Files, hvala na linku. Da to tamo nisam vidio ne bih se ni sjetio.

[Ovu poruku je menjao itf dana 17.10.2005. u 12:47 GMT+1]
 
Odgovor na temu

[es] :: C/C++ programiranje :: Borland C++B ADO, Navigator i DBGrid

[ Pregleda: 2594 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

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