[ vortex77 @ 13.11.2007. 10:58 ] @
Pozz,

Imam query u kojem zelim da zakljucam aktivni slog pre nego pristupim promeni ili brisanju. Query:

Code:

     select t1.*,
             CONCAT(t1.ime,' ',t1.prezime),
             t2.nazivk
     from  tabela1 t1,
             tabela2 t2
     where
             t1.sifops = 238 AND
             t1.kljuc = 1 AND
             t2.brknjige = t1.brknjige


Prikaz query-ja vrsim (naravno :) ) u gridu na kojem mi se nalaze kolone CONCAT(t1.ime,' ',t1.prezime), t2.nazivk. Na OnTitleClick sam postavio :

Query.SetOrderBy(Field); // Field u zavisnosti na koju se kolonu kliknulo
Query.SQL.Add(OrderBy); // OrderBy moze biti "asc" ili "desc" u zavisnosti da li postoji i koji je prethodni order by
// ako nema order by, postavljam na order by Field asc.....
Query.Execute;

Sve ovo radi savrseno. Problem se javlja kada pokusam da pozovem Lock komandu i to samo ako je izvrseno sortiranje (ubacen ORDER BY). U run time-u ispisuje gresku :

Unknown column "CONCAT(t1.ime,' ',t1.prezime)" in where clause

Ono sto sam uspeo da ustanovim jeste :


1) Ako imam CONCAT i ORDER BY u query-ju i pozovem LOCK - GRESKA!
2) Ako imam CONCAT bez ORDER BY - Lock radi lepo.
3) Ako imam ORDER BY bez CONCAT - Lock radi lepo.

U cemu je problem???


ps. Tabela je normalizovana, ima primarne kljuceve. Radim na Delphi7 i MySQL 5.0.37 i MYDAC 5.2