It is currently 22 April 2025, 10:15 Advanced search

query su db intestazione "colonne" minuscole

Domande e risposte su come utilizzare Instant Developer Cloud al meglio

query su db intestazione "colonne" minuscole

Postby mromini » 27 November 2018, 13:59

Ciao, ho delle tabelle in un database nelle quali ho indicato i nomi delle colonne mettendo lettere maiuscole e minuscole (es.: Code, AgentCode, PaymentCode, etc.).

Se faccio una cosa del tipo (utilizzando lo strumento dell'IDE per scrivere la query)
Code: Select all
let doc = App.DataBase.query(app, "select Code, AgentCode, PaymentCode from Tabella");
console.log(doc.rows[0]);

vedo che le proprietà della datarow in questione rispettano le maiuscole / minuscole della definizione della tabella.

Se invece faccio
Code: Select all
let query = "select Code, AgentCode, PaymentCode from Tabella";
let doc = App.DataBase.query(app,query);
console.log(doc.rows[0]);

le proprietà della datarow in questione sono tutte in minuscolo.

E' una cosa voluta o è un errore?

Nel caso fosse una cosa voluta come faccio a far rispettare le maiuscole / minuscole anche nel secondo caso?

Ciao,
Mario.
mromini
 
Posts: 464
Joined: 6 November 2012, 9:38

Re: query su db intestazione "colonne" minuscole

Postby m.sirri » 28 November 2018, 7:48

Postgres, come altri db, gestisce i nomi in modo case sensitive.
Quando crei una tabella e usi delle maiuscole nei nomi in realtà gli oggetti vengono creati tutti in minuscolo a meno che non usi le virgolette per quotare i nomi, in tal caso mantiene il case.
Quando vai a fare le query senza virgolette usa la stessa logica, ma i nomi te li restituisce tutti minuscoli.

La differenza tra le due query è che quando usi l'intellisense per scrivere la query, vengono aggiunte le virgolette perché si sa su quale tabella si sta operando; nel secondo caso la query è una stringa e viene restituito il recorset così come viene ottenuto dal database.

Puoi risolvere nel secondo caso mettendo gli alias.
User avatar
m.sirri
Pro Gamma
Pro Gamma
 
Posts: 8574
Joined: 30 September 2010, 17:01
Location: Ozzano dell'Emilia (BO)

Re: query su db intestazione "colonne" minuscole

Postby mromini » 28 November 2018, 9:24

Scusa Matteo ma non ho capito cosa devo fare...

Se la query la cambio in questo modo
Code: Select all
let doc = App.DataBase.query(app, "select Code AS Code, AgentCode as AgentCode, PaymentCode as PaymentCode from Tabella");
console.log(doc.rows[0]);

il risultato non cambia, le proprietà della DaraRow rimangono in minuscolo. Non ho capito il discorso "virgolette". Ieri ho cmq aperto il malfunzionamento 002339-2018 che è pianificato per oggi alle 11:30 sull'argomento.

Ciao,
Mario.
mromini
 
Posts: 464
Joined: 6 November 2012, 9:38

Re: query su db intestazione "colonne" minuscole

Postby m.sirri » 28 November 2018, 20:12

Per ottenere il risultato voluto devi scrivere così:
Code: Select all
let query = "select Code AS "Code", AgentCode as "AgentCode", PaymentCode as "PaymentCode" from Tabella";
let doc = App.DataBase.query(app,query);
console.log(doc.rows[0]);
User avatar
m.sirri
Pro Gamma
Pro Gamma
 
Posts: 8574
Joined: 30 September 2010, 17:01
Location: Ozzano dell'Emilia (BO)


Return to Tips & Tricks - Cloud

Who is online

Users browsing this forum: No registered users and 11 guests