2014-06-06 43 views
0

我需要幫助。我的程序有問題。這是我的業務邏輯層上的代碼。可爲空的對象必須有一個值。 VB.NET

Function Load_ItemDetails(ByVal ItemID As String) As Items 
    Dim objItemEnt As New tblitem 
    Dim objitem As New Items 
    Try 
     Using da = New DataAccess 
      objItemEnt = da.Load_ItemDetails(ItemID) 
      With objitem 
       .ItemCode = objItemEnt.ItemCode 
       .ItemName = objItemEnt.ItemName 
       .Description = objItemEnt.Description 
       .NameofType = objItemEnt.NameofType 
       .TypeofPricing = objItemEnt.TypeofPricing 
       .OnStock = objItemEnt.OnStock 
       .ItemPrice = objItemEnt.ItemPrice 
       .DateModified = objItemEnt.DateModified 
      End With 
      Return objitem 
     End Using 
    Catch ex As Exception 
     Throw 
    End Try 
End Function 

此代碼用於我的數據訪問層。

Public Function Load_ItemDetails(ByVal ItemCode As String) 
    Dim objitem As New tblitem 
    Try 
     Using entItem = New DAL.systemdbEntities1 
      Dim qryUsers = From p In entItem.tblitems 
      Where p.ItemCode = ItemCode 
      Select p 

      Dim luser As List(Of tblitem) = qryUsers.ToList 
      If luser.Count > 0 Then 
       Return luser.First 
      Else 
       Return objitem 
      End If 
     End Using 
    Catch ex As Exception 
     Throw 
    End Try 
End Function` 

對於我的表現層:

Private Sub Load_Item_Detail(ByVal ItemCode As String) 
    objItem = New Items 
    Using objLogic = New LogicalLayer 
     objItem = objLogic.Load_ItemDetails(ItemCode) 
     With objItem 
      Me.ItemCodetxt.Text = .ItemCode 
      Me.ItemNametxt.Text = .ItemName 
      Me.ItemDesctxt.Text = .Description 
      Me.ItemTypetxt.Text = .NameofType 
      Me.ItemPricetxt.Text = .TypeofPricing 
      Me.ItemOnstocktxt.Text = CStr(.OnStock) 
      Me.ItemPricetxt.Text = CStr(.ItemPrice) 
      Me.TextBox1.Text = CStr(.DateModified) 
      Me.ItemCodetxt.Tag = .ItemCode 
     End With 
    End Using 
End Sub` 

,我跑後,我得到這個錯誤Nullable object must have a value幫助我。我卡住了。我不知道該做什麼。我是新的n層架構。

+0

它與架構無關。而且你的代碼被削減並不能提供足夠的數據來幫助你解決問題。 – MarcinJuraszek

+0

什麼對象可以爲空? – OneFineDay

+0

這個'.OnStock = objItemEnt.OnStock' – Gcode

回答

3

要訪問您使用對象的.Value一個可空對象的值。這個可爲空的對象也有一個.HasValue布爾值,您可以在請求值之前檢查它。更多這裏:Nullable Types

If objItemEnt.OnStock.HasValue Then 
    .OnStock = objItemEnt.OnStock.Value 
End If 
+0

如果它移動,那麼這意味着這是答案,你應該檢查它的答案。'移動'意味着你在別處有更多的錯誤 – Plutonix

-1

變化:

.OnStock = objItemEnt.OnStock 

到:

.OnStock = objItemEnt.OnStock.Value 
相關問題