Cambiare tipo sul dataset

lunedì 10 settembre 2007 - 17.22

memmo77 Profilo | Expert

Una volta caricato un datasat con un adattatore, è possibile cambiare il tipo di dato ad esempio da stringa ad intero sul dataset?

Brainkiller Profilo | Guru

>Una volta caricato un datasat con un adattatore, è possibile
>cambiare il tipo di dato ad esempio da stringa ad intero sul
>dataset?

Bella domanda. Non l'ho mai provato. Allora sono andato a verificare e per esempio usando:

ds.Tables[0].Columns[0].DataType = ???

L'intellisense suggerisce "Gets or sets the type of the data stored in the column".
Quindi a quanto pare , sembra possibile.

E' naturale che possano esserci errori di conversione. Esempio se una colonna String la converti in Int32 e ci sono dentro lettere ci saranno dei problemi.

Prova e facci sapere.
Ciao

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/

memmo77 Profilo | Expert

Allora, sul codice vb ho scritto:

Ds_Voci.Tables(0).Columns(0).DataType = System.Type.GetType("System.STRING")


L'errore che mi ritorna è questo:
Impossibile modificare il DataType di una colonna contenente dati.

Brainkiller Profilo | Guru

>Allora, sul codice vb ho scritto:
>Ds_Voci.Tables(0).Columns(0).DataType = System.Type.GetType("System.STRING")
>L'errore che mi ritorna è questo:
>Impossibile modificare il DataType di una colonna contenente
>dati.

Ecco come immaginavo.
Quindi la soluzione più prossima è aggiungere una nuova colonna del tipo di dati richiesto al DataSet, e poi con un ciclo copiare il dato vecchio con opportuna conversione nella colonna nuova. Alla fine eliminare la colonna vecchia.
Non c'è altra soluzione.
Ciao

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/
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-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5