2

I have a excel document and i try to fill form with value from database and i ahve some DropDownList create like that

<ContentTemplate>
                &nbsp; <asp:DropDownList ID="DDL_Transporter" runat="server" Width = "157px" 
                        DataSourceID="SqlDataSource2" DataTextField="transporter" 
                        DataValueField="transporter">
                        <asp:ListItem></asp:ListItem>
                </asp:DropDownList>
                    <asp:SqlDataSource ID="SqlDataSource2" runat="server" 
                        ConnectionString="Data Source=xxx;Initial Catalog=xxx;Persist Security Info=True;User ID=xxx;Password=xxx" 
                        SelectCommand="SELECT [transporter] FROM [Transporter] where [active]= 'active'"></asp:SqlDataSource>
                </ContentTemplate>

I don't know where is a problem but when i try to fill all boxes display that error:

Server Error in '/' Application.

Object reference not set to an instance of an object.

Line 46: End Try Line 47: Line 48:
If Header_DataReader.HasRows Then Line 49: Do While Header_DataReader.Read Line 50:

My code is here:

If Page.IsPostBack = False Then

            Dim con As New SqlConnection
            Dim cmd As New SqlCommand

            con = FunctionConnection()
            cmd.Connection = con

            cmd.CommandText = "GetFillData"
            cmd.CommandType = CommandType.StoredProcedure
            cmd.Parameters.AddWithValue("@OrderID", RowID)
            Dim Header_DataReader As SqlDataReader = Nothing
            Try
                con.Open()
                Header_DataReader = cmd.ExecuteReader
            Catch ex As Exception

            End Try

            If Header_DataReader.HasRows Then
                Do While Header_DataReader.Read

                    BOX_SampleOrder.Enabled = False
                    If Header_DataReader.IsDBNull(Header_DataReader.GetOrdinal("DVMOrderNumber")) = False Then
                        BOX_SampleOrder.Text = Header_DataReader.GetValue(Header_DataReader.GetOrdinal("DVMOrderNumber"))
                    End If
                    If Header_DataReader.IsDBNull(Header_DataReader.GetOrdinal("Requester")) = False Then
                        BOX_Requester.Text = Header_DataReader.GetValue(Header_DataReader.GetOrdinal("Requester"))
                    End If
                    If Header_DataReader.IsDBNull(Header_DataReader.GetOrdinal("ProjectNumber")) = False Then
                        BOX_ProjectNumber.Text = Header_DataReader.GetValue(Header_DataReader.GetOrdinal("ProjectNumber"))
                    End If
                    If Header_DataReader.IsDBNull(Header_DataReader.GetOrdinal("CostResponsable")) = False Then
                        BOX_PersonInvoiced.Text = Header_DataReader.GetValue(Header_DataReader.GetOrdinal("CostResponsable"))
                    End If
                    BOX_PersonInvoiced.Text = Generals.TrimMyString(BOX_PersonInvoiced.Text)

                    If Header_DataReader.IsDBNull(Header_DataReader.GetOrdinal("SampleOrderType")) = False Then
                        DDL_SampleCategory.Text = Header_DataReader.GetValue(Header_DataReader.GetOrdinal("SampleOrderType"))
                    End If
                    If Header_DataReader.IsDBNull(Header_DataReader.GetOrdinal("TotalSamples")) = False Then
                        BOX_Quantity.Text = Header_DataReader.GetValue(Header_DataReader.GetOrdinal("TotalSamples"))
                    End If
                    If Header_DataReader.IsDBNull(Header_DataReader.GetOrdinal("CostCenter")) = False Then
                        BOX_CostCenter.Text = Header_DataReader.GetValue(Header_DataReader.GetOrdinal("CostCenter"))
                    End If
                    If Header_DataReader.IsDBNull(Header_DataReader.GetOrdinal("OrderDescription")) = False Then
                        BOX_Description.Text = Header_DataReader.GetValue(Header_DataReader.GetOrdinal("OrderDescription"))
                    End If
                    If Header_DataReader.IsDBNull(Header_DataReader.GetOrdinal("FinalCustomerAddress")) = False Then
                        BOX_RecipientName.Text = Header_DataReader.GetValue(Header_DataReader.GetOrdinal("FinalCustomerAddress"))
                    End If
                    If Header_DataReader.IsDBNull(Header_DataReader.GetOrdinal("TargetDate")) = False Then
                        BOX_DesiredDeliveryDate.Text = Header_DataReader.GetValue(Header_DataReader.GetOrdinal("TargetDate"))
                    End If
                    If Header_DataReader.IsDBNull(Header_DataReader.GetOrdinal("AssemblyPlannedDate")) = False Then
                        BOX_AssemblyPlanedDate.Text = Header_DataReader.GetValue(Header_DataReader.GetOrdinal("AssemblyPlannedDate"))
                    End If
                    If Header_DataReader.IsDBNull(Header_DataReader.GetOrdinal("LogisticsResponsable")) = False Then
                        DDL_Coordonator.Text = Header_DataReader.GetValue(Header_DataReader.GetOrdinal("LogisticsResponsable"))
                    End If
                    If Header_DataReader.IsDBNull(Header_DataReader.GetOrdinal("ShippingMode")) = False Then
                        DDL_ShippingMode.Text = Header_DataReader.GetValue(Header_DataReader.GetOrdinal("ShippingMode"))
                    End If
                    DDL_Transporter.Items.Clear()
                    If Header_DataReader.IsDBNull(Header_DataReader.GetOrdinal("ExpressShipment")) = False Then
                        DDL_Transporter.Items.Add(Header_DataReader.GetValue(Header_DataReader.GetOrdinal("ExpressShipment")))
                    End If
                    If Header_DataReader.IsDBNull(Header_DataReader.GetOrdinal("ShippingAddress")) = False Then
                        BOX_ShippingAddress.Text = Header_DataReader.GetValue(Header_DataReader.GetOrdinal("ShippingAddress"))
                    End If
                    If Header_DataReader.IsDBNull(Header_DataReader.GetOrdinal("Urgent")) = False Then
                        RBL_Urgent.Text = Header_DataReader.GetValue(Header_DataReader.GetOrdinal("Urgent"))
                    End If
                    If Header_DataReader.IsDBNull(Header_DataReader.GetOrdinal("HazardousMaterial")) = False Then
                        RBL_Hazardous.Text = Header_DataReader.GetValue(Header_DataReader.GetOrdinal("HazardousMaterial"))
                    End If
                    If Header_DataReader.IsDBNull(Header_DataReader.GetOrdinal("HasBOM")) = False Then
                        RBL_BOM.Text = Header_DataReader.GetValue(Header_DataReader.GetOrdinal("HasBOM"))
                    End If
                    If Header_DataReader.IsDBNull(Header_DataReader.GetOrdinal("HasSerialComponents")) = False Then
                        RBL_SerialComponents.Text = Header_DataReader.GetValue(Header_DataReader.GetOrdinal("HasSerialComponents"))
                    End If
                    If Header_DataReader.IsDBNull(Header_DataReader.GetOrdinal("PrototypeComponents")) = False Then
                        RBL_PrototypeComponents.Text = Header_DataReader.GetValue(Header_DataReader.GetOrdinal("PrototypeComponents"))
                    End If
                    If Header_DataReader.IsDBNull(Header_DataReader.GetOrdinal("ReadyForAssembly")) = False Then
                        RBL_ReadyAssembly.Text = Header_DataReader.GetValue(Header_DataReader.GetOrdinal("ReadyForAssembly"))
                    End If
                    If Header_DataReader.IsDBNull(Header_DataReader.GetOrdinal("Status")) = False Then
                        DDL_OrderStatus.Text = Header_DataReader.GetValue(Header_DataReader.GetOrdinal("Status"))
                    Else
                        DDL_OrderStatus.Text = Nothing
                    End If
                    If Header_DataReader.IsDBNull(Header_DataReader.GetOrdinal("OrderType")) = False Then
                        DDL_OrderCategory.Text = Header_DataReader.GetValue(Header_DataReader.GetOrdinal("OrderType"))
                    Else
                        DDL_OrderCategory.Text = Nothing
                    End If
                    If Header_DataReader.IsDBNull(Header_DataReader.GetOrdinal("ExtraQty")) = False Then
                        BOX_ExtraQuantity.Text = Header_DataReader.GetValue(Header_DataReader.GetOrdinal("ExtraQty"))
                    Else
                        BOX_ExtraQuantity.Text = Nothing
                    End If
                    If Header_DataReader.IsDBNull(Header_DataReader.GetOrdinal("PackagingType")) = False Then
                        DDL_PackagingType.Text = Header_DataReader.GetValue(Header_DataReader.GetOrdinal("PackagingType"))
                    Else
                        DDL_PackagingType.Text = Nothing
                    End If
                    If Header_DataReader.IsDBNull(Header_DataReader.GetOrdinal("SampleLabeling")) = False Then
                        BOX_SampleLabeling.Text = Header_DataReader.GetValue(Header_DataReader.GetOrdinal("SampleLabeling"))
                    Else
                        BOX_SampleLabeling.Text = Nothing
                    End If
                    If Header_DataReader.IsDBNull(Header_DataReader.GetOrdinal("AssemblySite")) = False Then
                        DDL_AssemblySite.Text = Header_DataReader.GetValue(Header_DataReader.GetOrdinal("AssemblySite"))
                    Else
                        DDL_AssemblySite.Text = Nothing
                    End If
                    If Header_DataReader.IsDBNull(Header_DataReader.GetOrdinal("AssemblyDate")) = False Then
                        BOX_AssemblyDate.Text = Header_DataReader.GetValue(Header_DataReader.GetOrdinal("AssemblyDate"))
                    Else
                        BOX_AssemblyDate.Text = Nothing
                    End If
                    If Header_DataReader.IsDBNull(Header_DataReader.GetOrdinal("Destination")) = False Then
                        BOX_Destination.Text = Header_DataReader.GetValue(Header_DataReader.GetOrdinal("Destination"))
                    Else
                        BOX_Destination.Text = Nothing
                    End If
                    If Header_DataReader.IsDBNull(Header_DataReader.GetOrdinal("ShippmentPlannedDate")) = False Then
                        BOX_ShippmentPlannedDate.Text = Header_DataReader.GetValue(Header_DataReader.GetOrdinal("ShippmentPlannedDate"))
                    Else
                        BOX_ShippmentPlannedDate.Text = Nothing
                    End If
                    If Header_DataReader.IsDBNull(Header_DataReader.GetOrdinal("ShippmentDate")) = False Then
                        BOX_ShippmentDate.Text = Header_DataReader.GetValue(Header_DataReader.GetOrdinal("ShippmentDate"))
                    Else
                        BOX_ShippmentDate.Text = Nothing
                    End If
                    If Header_DataReader.IsDBNull(Header_DataReader.GetOrdinal("ShippingCost")) = False Then
                        BOX_ShippingCost.Text = Header_DataReader.GetValue(Header_DataReader.GetOrdinal("ShippingCost"))
                    Else
                        BOX_ShippingCost.Text = Nothing
                    End If
                    If Header_DataReader.IsDBNull(Header_DataReader.GetOrdinal("MaterialCost")) = False Then
                        BOX_TestingCost.Text = Header_DataReader.GetValue(Header_DataReader.GetOrdinal("MaterialCost"))
                    Else
                        BOX_TestingCost.Text = Nothing
                    End If
                    If Header_DataReader.IsDBNull(Header_DataReader.GetOrdinal("ExtraNotice")) = False Then
                        BOX_ExtraNotice.Text = Header_DataReader.GetValue(Header_DataReader.GetOrdinal("ExtraNotice"))
                    Else
                        BOX_ExtraNotice.Text = Nothing
                    End If
                    If Header_DataReader.IsDBNull(Header_DataReader.GetOrdinal("DelayMotive")) = False Then
                        BOX_DelayMotive.Text = Header_DataReader.GetValue(Header_DataReader.GetOrdinal("DelayMotive"))
                    Else
                        BOX_DelayMotive.Text = Nothing
                    End If
                    If Header_DataReader.IsDBNull(Header_DataReader.GetOrdinal("Comments")) = False Then
                        BOX_Comments.Text = Header_DataReader.GetValue(Header_DataReader.GetOrdinal("Comments"))
                    Else
                        BOX_Comments.Text = Nothing
                    End If
                Loop
            End If



            If con.State = ConnectionState.Open Then
                con.Close()
            End If
end if
Vladut
  • 647
  • 1
  • 10
  • 35
  • 3
    Possible duplicate of [What is a NullReferenceException and how do I fix it?](http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-do-i-fix-it) – James Thorpe Feb 26 '16 at 13:57
  • 1
    Everyone hits this at some point. The correct solution is to learn how to use your debugger and track down what's causing it - the linked question and answers (note [the answer dedicated to VB](http://stackoverflow.com/a/26761773/791010)) show how to do this in detail. – James Thorpe Feb 26 '16 at 13:58
  • 2
    Also note that you have an empty `Catch` block. You might want to remove that try/catch entirely, or at least put some logging in the catch block - looking at what you've got going on and where the error is, it looks like you've either got an error connecting or an error running the query. The empty catch block is hiding it. – James Thorpe Feb 26 '16 at 14:02

1 Answers1

0

Obviously there is a problem with this code:

con.Open()
Header_DataReader = cmd.ExecuteReader

That Header_DataReader still have value of Nothing You can catch the exception to see what is wrong with execution of the command

Or you could do this:

If Header_DataReader IsNot Nothing Then
If Header_DataReader.HasRows Then


End If
End If
Ashkan Mobayen Khiabani
  • 33,575
  • 33
  • 102
  • 171
  • Ok thanks,i put modify my code like that, no problem in this moment. if the error disappear i tell you. – Vladut Feb 29 '16 at 13:00