Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
C# - Reformat SQL
mercoledì 06 luglio 2005 - 09.42
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
MAGI System
Profilo
| Newbie
15
messaggi | Data Invio:
mer 6 lug 2005 - 09:42
Salve a tutti,
insieme ad un mio collega stiamo realizzando un software che formatta una query sql.
Mi spiego meglio, abbiamo una sfilza di query su una riga singole (query che a volte sono lunghissime) e vorremmo riformattarla indentandola per bene.
Avevamo giò realizzato una classe che esegue questo, ma ha qualche fastidioso bug sulle parentesi e agiva lavorando con le stringhe.
Vorremmo creare qualcosa che "oggettizzi" i componenti della query.
Il problema che abbiamo ora è trovare un modo per separare le sotto query per poterle "oggettizzare".
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
mer 6 lug 2005 - 12:03
Eh eh,
ciao, se lo volete creare dovrete sviluppare voi un algoritmo e quindi un parser che identifichi i vari blocchi della query, eventuali sottoquery e via di seguito.
In SQL Server se copiate e incollate la Query nell'EM e la lanciate lui la riformatta anche se in un modo che a me non piace personalmente.
Naturalmente questo vale solo per SQL Server, se voi lavorate con altri DB è chiaro che la vostra soluzione si può adattare per tutti i prodotti che si appoggiano al linguaggio SQL.
ciao
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/
MAGI System
Profilo
| Newbie
15
messaggi | Data Invio:
mer 6 lug 2005 - 12:20
Si beh, che dovevamo crearcelo noi era fuori da ogni dubbio. ^__^
Tra l'altro l'algoritmo già ce l'ho, mi manca solo il modo di identificare le sottoquery tipo
SELECT * FROM (SELECT * FROM (SELECT * FROM Tabella25) WHERE id=1) WHERE DATA = (SELECT MAX(Data) FROM Tabella12 WHERE id = 9)
e trovare fuori le sottoquery
(SELECT * FROM Tabella25)
e
(SELECT MAX(Data) FROM Tabella12 WHERE id = 9)
il resto è gia pronto.
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !