The null value cannot be assigned to a member...

martedì 10 marzo 2009 - 12.58

cicciuzzo Profilo | Junior Member

Ciao a tutti

usando questo :

int? MaxId = db.Product_Images.Max(p => p.ID);

ottengo

The null value cannot be assigned to a member with type System.Int32 which
is a non-nullable value type.

nel db realmente non c'è niente , ma essendo che il tipo è nullable dovrebbe
assegnargli null...

dove sta l'inghippo!?

ciao e grazie

ysdemarc Profilo | Expert

non gli assegna null ma DBNull.Value che è diverso...

e poi una variabile int di .net non può assumere valori di tipo null.

per cui dovresti controllare il valore che ottiene e se è di tipo DBNull.Value associ alla variabile 0 o -1 qualsiasi altro numero..

mentre nel caso di un string dovresti almeno trasformarlo in null

Vincenzo
Programmatore sbilenco

cicciuzzo Profilo | Junior Member

Il Campo in questione è un autoincrementale! credo non sia possibile fare
cio che mi dici, cioè mettere il valore di default!

ysdemarc Profilo | Expert

di sicuro l'istruzione db.Product_Images.Max(p => p.ID); ti tira fuori un valore null

controlla bene il perchè..

a volte se fai select particolari, quando non hai risultati ti restituisce null

ad esempio SELECT MAXI(MIOID) AS MIOID FROM TABELLA... se la tabella è vuota o c'era una causa di where che esclude tutte le righe ti verrò restituito un campo A NULL (quindi DBNull.Value)
Vincenzo
Programmatore sbilenco
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