Ordinamento campo TEXT

lunedì 30 marzo 2009 - 10.54

mv Profilo | Newbie

Ciao, ho questo problema.
In una Gridview colleziono diversi dati provenienti dal mio database MS Sql 2005.
I classici dati:

ID Colore Modello e oggetto

ecco il campo OGGETTO è salvato nel DB come un campo di tipo TEXT, ho problemi a ordinarlo alfabeticamente e il debugger mi rifila questo errore:

I tipi di dati text, ntext e image possono essere ordinati o confrontati esclusivamente quando si utilizza l'operatore IS NULL o LIKE.
Questa è la query che ho costruito:


Dim sql As String = "Select * FROM ticket WHERE risolto='false' ORDER BY " & sortExpression

Funziona per tutte le colonne meno che quella di tipo text. C'è un workaround?
Grazie!

lbenaglia Profilo | Guru

>Funziona per tutte le colonne meno che quella di tipo text. C'è
>un workaround?
Non è mai una buona idea ordinare per una colonna BLOB dato il carico di lavoro che richiederesti al DB Engine.
Un primo workaround consiste nel castare a varchar(x) (con x il più piccolo possibile) ed ordinare per l'espressione risultante; una seconda soluzione consiste nel modificare il data type della colonna da TEXT (deprecato) a varchar(max).

>Grazie!
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

mv Profilo | Newbie

ho convertito in nvarchar(max)

Ma perchè deprechi text?

Ad ogni modo su quella tabella ci saranno un max 100 righe, non credo di ammazzare il db :)

lbenaglia Profilo | Guru

>Ma perchè deprechi text?
Non lo depreco io, ma Microsoft
Deprecare una funzionalità significa che verrà rimossa nelle prossime versioni.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
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 !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5