Ceea ce este utilizarea de paranteze drepte [] în declarațiile sql?



Am'am observat ca Visual Studio 2008 este plasarea de paranteze drepte în jurul valorii de numele coloanelor în sql. Face paranteze oferă nici un avantaj? Când am parte de cod T-SQL-am'am mai deranjat cu ei.


Exemplu:


Visual Studio:



```
SELECT [column1], [column2] etc...
```

Felul meu:



```
SELECT column1, column2 etc...
```
Parantezele sunt necesare dacă utilizați cuvinte cheie sau caractere speciale în nume de coloană sau de identificare. Ai putea numi o coloană `[prenume]` (cu un spațiu) -, dar atunci'd nevoie pentru a utiliza paranteze de fiecare dată te-ai referit la acea coloană.


Cele mai noi instrumente adăugați-le peste tot, doar în cazul în care sau pentru consistență.
> 
> Se pare că prima dintre valori este interpretată ca o coloană,
> cum este asta?
> 
> 
> 


Deoarece ați primit-o la fel ca `SomeString` , în loc
de text *valoare* , cum ar fi `'SomeString'` .
Acesta este modul în care funcționează SQL - și cum funcționează și
codul normal, într-adevăr. Daca ai fi avut:



```
String foo = bar;

```

v-ați aștepta să încercați să copiați valoarea unei variabile
numite `bar` , nu-i așa? Dacă ați însemnat un șir de
trei caractere, b, a, r, ați folosi:



```
String foo = "bar";

```

Este același lucru în SQL.


Cu toate acestea, presupunând că acest SQL este construit din
valori reale, ar trebui să utilizați oricum un parametru
`PreparedStatement` cu parametri:



```
String sql = "INSERT INTO meta (title, hlcount, textcount, imgcount, linkcount)"
             + " VALUES (?, ?, ?, ?, ?)";
PreparedStatement pst = conn.prepareStatement(sql);
pst.setString(1, "SomeString");
pst.setInt(2, 6);
// etc

```

În acest fel, veți evita atacurile de injecție SQL și problemele
de conversie a șirului (de exemplu, pentru date). De asemenea, vă
păstrează curățarea SQL, separând codul de date. Mă aștept răspunsul real este pur și simplu: nu a fost un bun exemplu de utilizare. Pentru cazuri, avantajul este acela că permite o fluente API asupra tipurilor existente (care nu se furnizează logica) - și anume



```
var foo = data.Where(x=>x.IsActive).OrderBy(x=>x.Price).First();

```

care permite LINQ:



```
var foo = (from x in data
           where x.IsActive
           order by x.Price
           select x).First();

```

Cu metode statice, acest lucru pur și simplu nu este o problemă, astfel încât nu există nici o justificare; doar utiliza metoda statică pe al doilea tip.


Așa cum este, metodele de extensie nu sunt *corect* obiect orientate - ele sunt un abuz pragmatic pentru a face viața mai ușoară în detrimentul purității. Nu a fost nici un motiv pentru a dilua metode statice în același mod. Aceasta este de fapt o întrebare complicată: atunci când utilizați un enum, este tradițional să aibă, de asemenea, un tabel de căutare în PB după cum sugerează Reed. Dar acest lucru ridică problema sincronizării definițiilor.


Ceea ce facem este genera tabelele de la definițiile ENUM, ca parte a construi / implementarea script-uri noastre pentru a se asigura că ambele reflectă același set de valori juridice.


Avem apoi funcții de comoditate care să ia un set de date întors dintr-o interogare DB, și ID hartă coloane în coloane (nou create), cu valori ENUM. Dar noi facem acest lucru imediat după rezultatele interogării sunt recuperate. Deci, sfatul meu ar fi să le hartă cât mai curând posibil, de preferință în DAL dumneavoastră. * Notă: a se vedea <http://www.jetbrains.net/devnet/message/5244658> pentru o altă versiune a acestui răspuns.


Citind posturile, se pare că există o anumită confuzie cu privire la întrebarea inițială. Lasă-mă să o lovitură de cuțit la ea.


Postul original este într-adevăr cere întrebarea: „Cum pot identifica și elimina referințele dintr-un proiect Visual Studio pentru alte proiecte / ansambluri care nu sunt în uz?“ Afișul vrea ansamblurile să nu mai apară ca parte a producției construi.


În acest caz, Resharper vă poate ajuta să *identificați* ei, dar trebuie să *eliminați* - le tine. 


Pentru a face acest lucru, deschide Referințe inth Solution Browser, faceți clic dreapta pe fiecare ansamblu de referință, și alege „Find Code dependent“. Vedea:


<http://www.jetbrains.com/resharper/features/navigation_search.html#Find_ReferencedDependent_Code>


Vei primi fie:


1. O listă a dependențele pe această referință într-o fereastră de browser, sau
2. Un dialog care vă spune „Codul dependent de XXXXXXX modul nu a fost găsit.“.


Dacă obține al doilea rezultat, puteți apoi să faceți clic pe mouse-dreapta Reference, selectați Eliminare și scoateți-l din proiectul dumneavoastră.


În timp ce trebuie sa la acest „manual“, adică o referință la un moment dat, se va face treaba. Dacă cineva a automatizat acest lucru într-un fel Sunt interesat de audiere cum a fost făcut.


Puteți ignora destul de mult pe cele din .Net Framework, deoarece nu, in mod normal copiate de ieșire dvs. construi (de obicei - cu toate că nu este neapărat adevărat pentru aplicațiile Silverlight).


Unele posturi par să fie răspunsul la întrebarea: „Cum pot elimina folosind clauzele (C #) dintr-un fișier de cod sursă care nu sunt necesare pentru a rezolva orice referințe în acel dosar“. 


În acest caz, Resharper ajută în câteva moduri:


1. Identifică folosind clauze neutilizate pentru timpul pe detectarea erorii zbura. Ele apar ca avertismente de inspecție de cod - codul va apărea culoarea gri (fie implicit) în fișierul și Resharper va oferi un indiciu pentru al elimina:


<http://www.jetbrains.com/resharper/features/code_analysis.html#On-the-fly_Error_Detection>
2. Vă permite să le eliminați în mod automat, ca parte a procesului de Cod Cleanup:


<http://www.jetbrains.com/resharper/features/code_formatting.html#Optimizing_Namespace_Import_Directives>


**În cele din urmă, dau seama că Resharper face analiza codul static pe soluția. Deci, dacă aveți o referință dinamică a ansamblului - spune prin reflecție sau un ansamblu care este încărcată dinamic în timpul rulării și accesate prin intermediul unei interfețe - nu se va ridica.**  Nu există nici un substitut pentru înțelegerea dvs. de baza codului și dependențele de proiect în timp ce lucra la proiectul dumneavoastră. Fac găsi Resharper caracteristici foarte utile. din cate stiu eu trebuie sa folosesti intro descriere figuri de stil(epitete, comparatii, personaficari, enumeratiietc) si imagini artistice http://www.exactsoftware.com/docs/docview.aspx?documentid=%7b79a06bfe-8a9e-475f-9e25-381308bd8f97%7d bai fratilor! c++ nu trebuie sa stii neaparat html si java
c++ este un soft cu acre poti face programe. de exemplu power point e facut cu c++ cu tot cu interfata.
ce sa inveti. si eu sunt pasionat de programare, dorinta e mare.
cu ce te ajuta programarea? ai sanse mai amri sa te angajezi undeva in softwere. depozite de calculatoare sau magazine. sau la un institut de programari. faci programe.
cartea de c++ are in jur de 6-700 de pagini si e complexa. ceea ce ti.ar lua vreo 2 ani sa il cunosti si tot nu ai descoperi complet.

eu iti recomand visual basic. este fratele mai mic a lui c++
mai pe romaneste c++ este un cod
ia visual basic de pe net, varianta 2008 mai precis. e mai bun/
apoi fugi la biblioteca si ia cartea de visual basic 2008.
acolo gasesti instructiuni cum sa faci un program si cum sa programezi.
e mai usor de 10 ori ca c++ si il inveti repede. apoi cand ai invatat asta poti invata si c++ mai repede. o sa ai cunostiintele necesare de programare.
cand te apuci de visual basic trebuie sa stii ce vrei sa faca acel program pe care tu vrei sa il construesti.
tu nu trebuie decat sa respecti cartea.
asta e recomandarea mea. 
bafta. normal! acest sistem de operare este pus doar pentru ca-i gratuit si nu mai trebuie platita licenta la windows. de altfel eu lucrez pe linux si doar datorita unei imprimante tampita m-am intors pe windows, bata-l dracu! la corigenta se foloseste materia din tot anul. oricum subiectele sunt facute de profesori deci...este putin probabil sa se stie...ce anume se va da. prioritatea de dreapta este un principiu care se aplica tot mai putin, in ziua de astazi.
cand faci dreapta intr-o intersectie, nu se aplica acest principiu, ci regula drumului cu prioritate. daca tu ai semn "cedeaza trecerea" sau "stop", vei da prioritate inclusiv celor care iti vin din stanga, daca ei nu au semn deloc, sau au semn "drum cu prioritate". doar daca ala din stanga ta, are la randul lui semn "stop" sau "cedeaza trecerea", tu ai prioritate in fata lui, pentru ca trebuie sa iti acorde prioritate de dreapta, din cauza ca semnele voastre sunt egale.
si da, in cazurile in care se acorda prioritate de dreapta, nu prea conteaza in ce directie merge cel caruia ii dai prioritate.
in cazul in care virezi la stanga intr-o intersectie, iar cineva vine de pe contrasens, si vireaza in stanga lui, nu se mai aplica ocolirea centrului intersectiei, mergeti amandoi mai spre stanga voastra, pentru a nu va intalni, iar asa nu mai este necesara acordarea de prioritate intre voi.