Ricerca 
it-ITen-US
Registrazione
Accedi
In-Vesti Dotnetwork
IN-VESTI DNW!!!
Sono finalmente arrivate le nuovissime T-Shirt di DotNetWork!!! Con soli 15,00 € ci sosterrai nelle spese di gestione della Community e ti invieremo a casa una splendida maglietta.
Se vuoi contribuire al mantenimento di DotNetWork.it Vai sulla pagina Iscrizioni
Effettua il pagamento usando IWBank
Click per andare alla pagina di Iscrizione
Oppure un Bonifico bancario (le coordinate sono sulla pagina Iscrizioni), inviaci una mail a support@dotnetwork.it indicandoci la tua taglia e l'indirizzo di spedizione.  Non appena verificata la ricezione del pagamento provvederemo a spedirti la tua T-Shirt.  Le magliette sono disponibili nelle taglie S-M-L-XL-XXL (in caso di esaurimento di una delle taglie, indica quella di "Backup"). Grazie per IN-VESTIRTI con NOI!!!
.:DotNetWork Founders:.
    Stampa     


DotNetWork Forums
campo int Identity restituito come decimal
Ultimo Post 27 mag 2010 12.03 by Sabrina (DNW TEAM). 1 Risposte.
Stampa immediata
Ordina:
PrevPrev ProssimoProssimo
Non sei autorizzato ad inviare una risposta.
Autore Messaggi

Posts:537

--
25 mag 2010 16.16  
ho una tabella in SQL2008 con un campo IDPrenotazione di tipo int con Indentity a Yes.

in una Stored Procedure faccio l'insert di un record e poi faccio una select @@IDENTITY per avere l'IDPrenotazione indietro.

il problema è che con un ExecuteScalar mi viene restituito un object di tipo decimal. Come mai?

poi per aggirare l'ostacolo faccio il Cast:
int MioRisultato = (int)ExecuteScalar.....
questo non funziona. per poterlo avere in "int" devo fare così:
decimal MioPrimoRisultato = (decimal)ExecuteScalar.....
int MioSecondoRisultato = (int)MioPrimoRisultato;

non so dove sto sbagliando...

Grazie

Posts:811

--
27 mag 2010 12.03  
Non so se stai sbagliando oppure se è una peculiarità di 2008 che @@Identity non sia del tipo di dato della tabella ma sia un tipo di dato decimal. Potrebbe essere tale perché così qualsiasi tipo numerico viene usato per il contatore automatico, è contenuto in un decimal.

Detto ciò puoi usare questo codice se preferisci.
object ret = Exec.ExecScalar( pCnString, SQL_HASTHREADS, CommandType.Text, para); int val = Convert.ToInt32(ret);

Saluti
Sabrina
Non sei autorizzato ad inviare una risposta.

Active Forums 4.1
       
Articoli
Ereditarietà in pillole (Parte 1)
Come creare una TreeView personalizzata
2008/03/22 | Autore: Alberto De Luca
Fritto misto - Classi di uso comune (parte 2)
Helper: Una classe per la Serializzazione XML delle classi dati
2007/10/21 | Autore: Sabrina Cosolo
Fritto Misto - Classi di uso comune (Parte 6)
Helper: Alcuni metodi per organizzarci nell'uso del file System
2007/10/28 | Autore: Sabrina Cosolo
ADO.NET - Mini guida per l'utente
Introduzione agli oggetti dati di ADO.NET
2007/07/26 | Autore: Alberto De Luca
Copiare dati fra Database con ADO.Net
Da Qui a Li e da Li a Qui usando OleDb e Access
2009/02/14 | Autore: Sabrina Cosolo
Fritto Misto - Classi di uso comune(parte 3)
Helper: Due interfacce per implementare classi Entity
2007/10/22 | Autore: Sabrina Cosolo
Codedom Introduzione all'uso parte 1
Generare automaticamente codice C# o VB usando CodeDom ed il framework .NET stesso
2009/11/07 | Autore: Sabrina Cosolo
Ereditarietà applicata ai controlli
Creazione di una combobox che mostra immagini al posto del testo
2008/07/06 | Autore: Andrea Zingoni
    Stampa     
Home|Forums|Blogs|Mappa del sito
© 2007-2010 by DotNetWork  .:.  Condizioni d'uso  .:.  Privacy  .:.  Accedi  .:.