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

Jedan te isti problem...

[es] :: Pascal / Delphi / Kylix :: Jedan te isti problem...

[ Pregleda: 3320 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Bojan Kopanja
Bojan Kopanja
Senior Web Developer, ZeusSoftware
Stara Pazova

Član broj: 6155
Poruke: 507
80.93.238.*

ICQ: 346697685
Sajt: www.zeussoftware.rs


Profil

icon Jedan te isti problem...05.05.2005. u 21:46 - pre 230 meseci
Pretragom ovog foruma sam došao do linka za TnT komponentu koja omogućava jednostavno korišćenje ćirilice tj. "neobičnih" pisama uopšte u Delphiju i to radi fantastično, ali sam naišao na problemče. Pošto moj program koji MORA da bude na ćirilici radi sa bazama, doščo je do problema sa ADOQuery komponentom ( ili milo kojom drugom ), pošto ne prepoznaje sadržaj polja kada ga prosledim kroz SQL upit. Ne zam da li ste razumeli ovo, ali evo primera. Kod mene u bazi stoji recimo Ime: Pera, Prezime: Petrović, sada kad prosledim 'select * from tabela where prezime = ' + quotedstr(TnTEdit1.text); ne domijem ništa kao reziltat pretrage pošto je SQL property dobio brljotine na mestu prezimena i ne prepoznaje da to prezime već postoji u bazi.

Jbg, ne znam da li sam dovoljno dobro objasnio problem, ali to je trenutno najbolje što mogu pošto sam prilično iscrpljen .

Eh, sada, pitanje je kako da sredim ovo, tj. kako da koristim ćirilicu tako da ADOQuery.SQL može da provali šta tu u stvari piše ?

Rešenje ne mora da bude kroz neku komponentu, mogu i da batalim TnT komponentu, pošto nisam daleko odmakao, pa da radim nekako ručno sve to?

Help !
 
Odgovor na temu

sasas
Saša Slavnić
radim za neke švabe

Član broj: 35478
Poruke: 617
*.zaslon-telecom.si.



Profil

icon Re: Jedan te isti problem...06.05.2005. u 07:53 - pre 230 meseci
Nisi rekao koju bazu koristiš? Na MSSQL serveru na primer, unicode prosleđuješ ovako:

SELECT * FROM tabela WHERE Ime LIKE N'Saša%'

Fazon je u onom slovu N ispred parametra. Ne znam da li je ovo standard ili je T-SQL specijalitet.

ss.
When something is hard to do, then it's not worth doing.
 
Odgovor na temu

gsinisa
Sinisa Gasic
RS

Član broj: 38104
Poruke: 3
*.poreskaupravars.org.



Profil

icon Re: Jedan te isti problem...06.05.2005. u 08:37 - pre 230 meseci
Inace, ne moras da koristis Tnt komponente za cirilicu, i obicne komponente se sasvim lepo snalaza sa cirilicom, samo podesi Regional and Language Options, tab Advanced, pa stavi Serbian(Cyrilic) kao Language for non-unicode programs.
Tnt komponente se koriste samo kada je potrebno mešati više kodnih rasporeda u okviru iste aplikacije, npr ako hoces da unosis i cirilicu i latinicu u istoj aplikaciji. Pri tome moras da pazis prilikom rada sa tnt komponentama na cinjenicu da koristi unicode karaktere tj. 16-bitni wstring. Sve db komponente Delphi-a koriste običan 8-bitni string, tako da ces uvek dobiti brljotine ako probas nesto tipa Query1.SQL.Add(TntEdit.Text) jer će Delphi unicode prebaciti u obican string.
 
Odgovor na temu

Bojan Kopanja
Bojan Kopanja
Senior Web Developer, ZeusSoftware
Stara Pazova

Član broj: 6155
Poruke: 507
80.93.238.*

ICQ: 346697685
Sajt: www.zeussoftware.rs


Profil

icon Re: Jedan te isti problem...06.05.2005. u 08:44 - pre 230 meseci
Hm, koristim ADO komponente, tj. Access-ovu bazu i izgleda da ovo ne radi posto kada stavim

SELECT * FROM tabela where prezime= N'+QuotedStr(TntEdit2.Text)

izbaci mi gresku oko parametra "prezime= N'??????'"
 
Odgovor na temu

bondja

Član broj: 10286
Poruke: 167
*.adsl.sezampro.yu.



+3 Profil

icon Re: Jedan te isti problem...06.05.2005. u 09:51 - pre 230 meseci
Primer koda gde se ne koriste TnT komponente, a SQL izraz se izvrsava (odradio sam podesavanja za nasa slova , kao sto je @gsinisa savetovao)...

pozdrav!
Prikačeni fajlovi
 
Odgovor na temu

nikola.j
Nikola Janković

Član broj: 15712
Poruke: 85
*.yu
Via: [es] mailing liste



Profil

icon Re: Jedan te isti problem...06.05.2005. u 10:25 - pre 230 meseci
>
>


Na Tnt sajtu se nalaze i LX komponente. Medju njima je i TntADOQueryLX (kao i
ekvivalenti za Table i Dataset). Pretpostavljam da joj je zadatak upravo to sto
tebi treba
 
Odgovor na temu

Bojan Kopanja
Bojan Kopanja
Senior Web Developer, ZeusSoftware
Stara Pazova

Član broj: 6155
Poruke: 507
80.93.238.*

ICQ: 346697685
Sajt: www.zeussoftware.rs


Profil

icon Re: Jedan te isti problem...06.05.2005. u 19:28 - pre 230 meseci
OK, ljudi hvala vam na pomoci, probavam soon, pa cu da javim da li sam uspeo!
 
Odgovor na temu

morlic
Milos Orlic
Beograd

Član broj: 6081
Poruke: 735
*.24.EUnet.yu.



+1 Profil

icon Re: Jedan te isti problem...06.05.2005. u 23:08 - pre 230 meseci
Ja sam probao tnt + sdac komponente za pristup SQL serveru i radi sve: i cirilica i latinica i makedonski i sve to zajedno u jednom stringu :)

Kod upita koji si dao kao primer ime prosledjujem kao parametar, a ne direktnim umetanjem, cisto da znas i da probas.

Naravno polje u bazi je nvarchar() tipa.
 
Odgovor na temu

_v!rus_
BGD

Član broj: 40451
Poruke: 313
*.nat-pool.bgd.sbb.co.yu.



+1 Profil

icon Re: Jedan te isti problem...07.05.2005. u 11:32 - pre 230 meseci
Mislim da nije problem u ADOqr komponenti, njen posao je da sirovi PChar koji predstavlja SQL upit prosledi DBEngine-u koji je ispod komponente, a ako je taj PChar u stvari PWChar, ne bi trebalo da je nikakav problem jer je MS ADO potpuno unicode-aware. Pogledaj ti da li ti taj QuoteStr vraca WString kako treba.
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Član broj: 32202
Poruke: 4391
*.yu1.net.

Sajt: https://avramovic.info


+46 Profil

icon Re: Jedan te isti problem...07.05.2005. u 11:35 - pre 230 meseci
Citat:
bondja: Primer koda gde se ne koriste TnT komponente, a SQL izraz se izvrsava (odradio sam podesavanja za nasa slova , kao sto je @gsinisa savetovao)...

pozdrav!


ja owde vidim samo slovo Đ a ostala su prikazana kao |
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

Bojan Kopanja
Bojan Kopanja
Senior Web Developer, ZeusSoftware
Stara Pazova

Član broj: 6155
Poruke: 507
80.93.238.*

ICQ: 346697685
Sajt: www.zeussoftware.rs


Profil

icon Re: Jedan te isti problem...07.05.2005. u 22:45 - pre 230 meseci
@JaHvram

Citat:
Inace, ne moras da koristis Tnt komponente za cirilicu, i obicne komponente se sasvim lepo snalaza sa cirilicom, samo podesi Regional and Language Options, tab Advanced, pa stavi Serbian(Cyrilic) kao Language for non-unicode programs.


Kao što čovek reče . Jesi li podesio ovo ( verovatno na latinicu u ovom slučaju ), pošto meni sada radi savršeno bez ikakvih komponenti i sa ćirilicom!

Hvala ljudi, pomogli ste mi dosta !

 
Odgovor na temu

_v!rus_
BGD

Član broj: 40451
Poruke: 313
*.nat-pool.bgd.sbb.co.yu.



+1 Profil

icon Re: Jedan te isti problem...08.05.2005. u 00:44 - pre 230 meseci
Da, ali to nije resenje, onda ces morati na svakoj klijent masini da podesavas isto (pogledaj JaHvram-ov post), a i ta promena ima sa sobom i mnoge druge iritirajuce posledice u samom windows-u.

Ako ti je proradilo kada si to promenio, znaci da od starta nisi koristio unicode, tebi su podaci u tabeli zapisani kao ASCII tekst (8-bitno).
 
Odgovor na temu

engineer

Član broj: 45205
Poruke: 113
*.metrohive.neobee.net.

Jabber: engineer


Profil

icon Re: Jedan te isti problem...08.05.2005. u 09:42 - pre 230 meseci
_v!rus_ je u pravu, za unicode moraš koristiti odgovarajuće WideString funkcije. Funkcije koje rade sa stringovima kao što je QuotedStr umesto karaktera šđžčć vratiće ti šdžcc tako da ti query ili filter neće raditi kako treba.
Koristi query parametre i uncode kontrole (TNT), i sve će raditi kako treba, bez potrebe da svom klijentu objašnjavaš šta da podešava u regional settings...
 
Odgovor na temu

Bojan Kopanja
Bojan Kopanja
Senior Web Developer, ZeusSoftware
Stara Pazova

Član broj: 6155
Poruke: 507
*.net
Via: [es] mailing liste

ICQ: 346697685
Sajt: www.zeussoftware.rs


Profil

icon Re: Jedan te isti problem...08.05.2005. u 11:03 - pre 230 meseci
OK, ubedili ste me :D. Probaću onda da se prebacim na TNT komponente, pa
javljam ponovo šta sam uradio ;).
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Jedan te isti problem...

[ Pregleda: 3320 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

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