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#\MSSQL2005] Ordinamento Campo
giovedì 03 gennaio 2008 - 03.16
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Domin
Profilo
| Newbie
21
messaggi | Data Invio:
gio 3 gen 2008 - 03:16
Ciao,
Ho un problema sull'ordinamento di alcuni campi, e non riesco a risolvere in nessun modo...
Ho un campo di testo di nome NUMERO in un database MSSQL 2005 Express, e devo riportare i campi in un datagrid, ordindoli in base a questo campo.
Il problema è che essendo di testo se io ho i numeri:
1
2
14
23
Vengono ordinati:
1
14
2
23
La soluzione logica sarebbe impostare il campo NUMERO come integer, ma putroppo non posso farlo perchè il campo NUMERO pèotrà contenere anche valori di questo tipo:
1
2
3\A
3\B
14
....
Qualche idea su come potrei ordinare?
L'unica soluzione a cui avevo pensato era quella di creare due campi divisi in cui andare ad inserire in uno il numero da cui poi andrei a fare l'ordinamento, mentre nell'altro un campo di testo in cui inserire i caaraatteri...
Putroppo però dovrei riscrivere diversi pezzi del programma se fosse l'unica soluzione....
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
gio 3 gen 2008 - 06:55
Una cosa del genere.
select codice, descrizione from tableprova order by space(20 - len(codice)) + codice
Domin
Profilo
| Newbie
21
messaggi | Data Invio:
gio 3 gen 2008 - 16:27
Non ho ben chiarto come, ma funziona
Cmq da quanto ho capito leggendo un pò il significato di space, l'importante è che il numero, in questo caso 20 sia maggiore della lunghezza massima del campo di testo, giusto?
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
gio 3 gen 2008 - 16:31
>Non ho ben chiarto come, ma funziona
>Cmq da quanto ho capito leggendo un pò il significato di space,
>l'importante è che il numero, in questo caso 20 sia maggiore
>della lunghezza massima del campo di testo, giusto?
Esatto, credo che 20 caratteri per un codice sia sufficiente, comunque puoi aumentarla a tua discrezione
Domin
Profilo
| Newbie
21
messaggi | Data Invio:
gio 3 gen 2008 - 17:48
Ciao,
Purtroppo ho un'altro problema
Se dovvessi ordinare dei dati in questo formato:
1\1
1\2
1\3
1\34
1\34a
1\34b
1\36
Per farlo ho utilizzato questo:
ORDER BY SPACE(15-LEN(SUBSTRING(numero, 3, len(numero)-2))) + numero
Però il risultatyo che mi da è questo:
1\1
1\2
1\3
1\34
1\36
1\34a
1\34b
In pratica i numeri che hanno una lettera finale mi vengono messi alla fine...
Come posso risolvere?
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
gio 3 gen 2008 - 20:32
Questa cosa la puoi risolvere "lato client" estraendo i dati su una tua tabella da aggiornare.
FedericoC
Profilo
| Junior Member
134
messaggi | Data Invio:
mer 2 apr 2008 - 20:30
Ho provato ad utilizzare questo codice ma non funziona...
A differenza di del post iniziale io utilizzo le / anzichè le \ ma non mi sembra che sia questo il problema...
Ma me inserisce in cima alla lista i numeri che hanno / e dopo quelli senza, anche se in effetti sono ordinati (ma secondo due gruppi distinti e non uno)
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 !