2010-01-27 35 views

cevap

14

System.Guid.

Dönüştürme gerekmez. Veritabanınızdan null Uniqueidentifier sütunları okurken

+2

Başka bir veri türü eşleme sorunlarınız varsa bu bağlantıyı kontrol edin: http://msdn.microsoft.com/en-us/library/ms131092.aspx –

13

System.Guid, değer Guıd null değildir gibi bir Guid örneğine atamak denemeden önce boş olup olmadığını kontrol etmeyi unutmayın. Örneğin:

... /// using recordset rs 


// generates exception if rs["my_guid"] is null 
Guid g = (Guid)rs["my_guid"]; 

// returns Guid.Empty {0000000-.....} if db value is null 
Guid g = (Guid)(rs["my_guid"] ?? Guid.Empty); 

vb

+0

Sadece Guid kullan? DİĞER ADIYLA. Nullable ve boş değer atayabilirsiniz. –

+0

Bu her zaman işe yaramaz - yani, null olmayan Kılavuzlara izin vermeyen bir koda geçiyorsanız bir noktada null olmayan bir Kılavuza dönüştürmeniz gerekir. –

+0

İzle it: DBNull! = Null –

2

Bir SqlDataReader değer elde ederse, bunu kullanmayı denemeden önce DBNull karşılaştırılmak üzere emin olun. Bazen değer de bir dize olarak yorumlanabilir, bu yüzden kodunuzda kullanmak için bir kılavuzunuz olduğundan emin olmak için Yeni Guid (rs ["my_guid"]) yazmanız gerekir.

+0

diğer yanıtlara yorum yapmak için giriş yapınız – jinsungy

+1

"Diğer cevaplara yorum yapmak için giriş yapınız" Kullanıcı adımı ve simgeyi görüyorsunuz, değil mi? Giriş yaptım, ama diğerlerinin yorumları hakkında yorum yapmak için yeterli saygınlığım yok ... – SilverSkin

+0

. ftfy. – NotMe