PDA

View Full Version : MYSQL left join i Delphi


Kores
08-07-2008, 11:11
pozdrav,
neko vrijeme malo po malo učim programirati u Delphiju i uglavnom je sve oke. Sad sam naišla na jedan problem i nije mi jasno ni zašto se javlja a kamoli da ga probam riješiti :D
Spojila sam se na mysql bazu, imam neke jednostavne forme i znam napraviti jednostavne sql upite. običan select, insert...
i sad sam htjela malo zakomplicirati stvar i iskoristiti left join ali mi javlja nekakvo upozorenje:
"Table is read only." i ne prikazuje ništa (sql upit je točan jer sam ga posebno provjerila)
Ne mogu ni postaviti Table1.Active na True (da mi se prikažu podaci) nego mi isto svaki put kada to probam javlja : "Table is read only."
I onda maknem taj sql i stavim neki obični select i onda sve radi...
Koristim TDatabase jer (koliko sam shvatila iz tutoriala raznih) njega koristim ako koristim više tablica iz baze. A left join je upravo to, zar ne?
Ima li tko kakvog iskustva iz delphi programiranja pa da me usmjeri malo?
Unaprijed hvala
:cp:

Critical
08-07-2008, 22:50
Povremeno koristim Delphi i odličan je za učenje. Table nikad nisam koristio. Iskreno, ne znam baš ni čemu služi.

Za prikaz podataka koristi onaj TSQLQuery (mislim da je tako) ,ClientDataSet, DataSet, i jos jedan onaj. To su ona prva tri u dbExpress cini mi se. I povezes sve s gridom i sve super. :)

Kores
09-07-2008, 15:25
ovako, stvar je u tome da mi ne radi samo s određenim sql upitima.
koristim TQuery, TDataSource i TDatabase (prvenstveno zato što sam se htjela riješiti login prompta).
kad u TQuery upišem upit oblika npr.:

select polje1, polje2, polje3 from tablica where polje1 like '%" + TEdit.Text + "%';

...sve radi super.
i sad promijenim taj sql u:

select a.polje1, a.polje2, b.polje3 from tabl1 as a left join tabl2 as b on a.polje3=b.polje3 where a.polje1 like '%" + TEdit.Text + "%';

više ništa ne radi.
TQuery.Active se promijeni u false, a mora biti true i kad želim to ručno promijeniti javi mi grešku: "table is read only" i ne prikazuje nikakve podatke.
zašto se to događa? zašto je sve ok kad koristim običan select, a kad ubacim jedan običan left join totalno se zablesira? :kokica:

Kores
10-07-2008, 14:55
I povezes sve s gridom i sve super. :)
to mi radi, ali prestane raditi čim malo zakomliciram sql, npr. želim koristiti left join i više ništa ne radi.
pliiiiiz help :cmolj: