Utilizarea numelor ruse în textul interogării SQL.
Îți cer ajutorul maestrilor.
Poate că problema are cea mai bună soluție, în plus,
Aș vrea să știu corectitudinea versiunii mele.
Există o serie de cereri, de exemplu (rezultă varianta scurtă):
SELECT
# xA0; Subject.Familiya as [Nume],
# xA0; Locație.Tip ca [Tip de țară]
DE LA
# xA0; Subiect, Locație
UNDE
# xA0; Subject.S_L_id = Locație.L_id
Se pare că numele câmpurilor rusești sunt stocate în aceleași interogări
ca aliasuri.
Toate aceste cereri sunt folosite de ele însele, dar în plus
fiecare dintre ele este utilizată atât ca interogări imbricate, de exemplu:
selectați a. [Tip țară], număr (*) ca [Număr]
din (
# xA0; SELECT
# xA0; # xA0; Subject.Familiya as [Nume],
# xA0; # xA0; Locație.Tip ca [Tip de țară]
# xA0; FROM
# xA0; # xA0; Subiect, Locație
# xA0; WHERE
# xA0; # xA0; Subject.S_L_id = Locație.L_id
) a
grup de # xA0; a. [Tipul de țară]
Ceea ce nu-mi place despre asta este că se utilizează textul interogării
Aliasul rusesc a. [Tipul de țară].
Cred că asta nu este destul de frumos.
Vor exista probleme cu alte PC-uri?
Pe de altă parte, păstrați o serie de rânduri cu etichete de câmp numai de dragul acestui lucru
inconfortabil. Păstrați 2 liste de cereri, în care fiecare pereche este repetată cu 95%
prea incomod.
Acum, dacă ați putea seta mai multe pseudonime într-un câmp sau accesați-l
prin numele său original.
Deci, întrebarea este: este corect să folosiți nume rusești în textul interogării SQL?
Acces DBMS, ADO.
Este corect să folosiți nume rusești în textul interogării SQL
Totul depinde de SGBD. Dacă DBMS suportă codificări Unicode sau ruse, atunci este destul de corect.
> este corect să folosiți nume rusești în textul SQL-
> cerere?
Nu, nu este.
Mi se pare că pentru Access acest lucru este normal.
Nu folosesc. Prefer să dau numele rusesc în descriptorul de câmp (displaylabel). Cererile sunt mai scurte și mai ușor de înțeles.
> SELECT
> # xA0; Subject.Familiya as [Nume],
> # xA0; Locație.Tip ca [Tipul țării]
> FROM
> # xA0; Subiect, Locație
> WHERE
> # xA0; Subiect.S_L_id = Locație.L_id
Nu e mai bine?
SELECT s.Familiya, l.Tip
FROM Subject s
ÎNCĂLZIRE LOCALĂ Locul l ON s.S_L_id = l.L_id
Deci, numele rusesc sunt stocate în afara SQL?
> Utilizați nume rusești numai în interfața programului.
> Și nicăieri altundeva!
Ponimyau.
Înseamnă să folosiți suplimentar un matrice pentru stocarea numelor de câmpuri?
> Nu este mai bine?
> SELECT s.Familiya, l.Tip
> FROM Subiect s
> Locație IHHER Locație l ON s.S_L_id = l.L_id
Sunt de acord, este mai bine, nu mă pot recalifica, obicei.
> Nu folosesc. Prefer să dau numele rusesc în descriptor
> (afișaj).
Deci, nu funcționează în această sarcină,
deoarece Același set de date va gestiona cereri diferite, adică
timpul de proiectare pentru a crea TField este imposibil, și chiar și timpul de rănire, probabil, spălat nu?
Și numai atunci, după citirea datelor fișierului, desigur atribuiți valorile afișajului la matrice.
> Aha, înțeleg. Și nu ați auzit despre câmpurile din TDataSet?
:)) a auzit
> Da. Da, probabil. Da, dar foarte prost. Da, dar e mai bine
> Tu pentru noi ":)
> Oh câte hemoroizi cu ruși în Delphi!
Este mai bine să faceți schimbări în timp atunci când proiectați, decât mai târziu
lopata corect codul de lucru.
Multumesc, voi incepe dimineata sa revin (bine, pana la putin).
> Apropo. Știe cineva o limbă care are o scrisoare
> la codul 255?
Nu știu ce? Codul ca cod ..
>> Apropo. Știe cineva o limbă care are o scrisoare
>> despre codul 255?
>
> Nu știu ce? Codul ca cod ..
>
Pentru unele versiuni ale Delphi, prezența unui astfel de cod în textul programului este o "cârpă roșie"! Mai exact, la începutul textului programului. Mai exact, nu-mi amintesc. (Scleroza, la naiba.
> Da, și timpul de rănire, probabil spălat nu?
Bineînțeles că nu. ei înșiși sunt creați. deoarece vreau să conduc numele rusesc în numele de a face în afteropen (când au fost deja create) și asta este.
Băieți, probabil că veți continua să apelați fișierele în formatul 8.3? Da?
>> este corect să folosiți nume rusești în textul SQL-
>> cerere?
Nu totul este atât de simplu. Vă voi da două situații
1) Probabil că aproape toată lumea are o colecție de interogări - "utilități", spun statisticile sesiunii, dinamica I / O și alte date din tabelele de sistem. Le execut din SQL * Plus și uneori rezultatul trebuie trimis unui utilizator. Formatul de ieșire în HTML este o comandă și 0,1 secunde. timp. Redenumiți câmpurile (și adesea rezultatele de tot felul de procesare) a trecut mult timp și va trebui să o faceți tot timpul. Prin urmare, toate rezultatele în avans cu psenvdonimami rusesc
2) Multe rapoarte curente sunt înfășurate ca proceduri stocate care returnează cursorul. Ei folosesc aplicații client de douăsprezece tipuri - și servicii web (inclusiv altele) și clienți groși și clienți HTML subțiri și chiar FIG știu cine. Pentru a le scrie în toate, transformarea titlurilor (și schimbarea ulterioară) sunt probleme inutile. În mod similar, cursorul merge cu rubricile câmpurilor rusești. Funcționează ca un ceas. Soluțiile alternative sunt cunoscute, dar această metodă este pe deplin operațională și are dreptul la viață, nici măcar la IMHO
> Cunoaște cineva o limbă a cărei scrisoare ar fi căzut în codul 255?
Destul de des. Deschideți tabelul cu simboluri din Windows și vedeți.
> Sergey Masloff (06/05/07 10:45) [19]
Toate acestea sunt justificate. Dar este justificată numai de modificarea consumatoare de resurse. Deoarece nu a fost inițial gândită. Punctele de proiectare de bază - stocarea (modul de stocare într-o parte a numelor) și afișarea au fost amestecate.
Și nu spun că această metodă nu este viabilă sau nu este funcțională. În unele cazuri speciale.
Eu spun NUMAI că simbolurile naționale din SQL construiesc limbaj, ca jetoane etc. și altele asemenea. este INCORECT.
Da. câte persoane au atât de multe opinii.
complet bătut.
Totul, corectat.
Mulțumesc tuturor.