Solved

Manual Insert Fails

Posted on 2008-10-09
6
155 Views
Last Modified: 2010-04-21
I'm trying to insert a record to a sql server using an objectdatasource but I'm getting an exception when it gets to inserting the date field. The exception is:
"Object reference not set to an instance of an object."

The variable has the correct date in it so I'm not really sure what this means. I will post a copy of all the code I'm using in case someone can see what I'm doing wrong. Thanks for any help on this.

Code Behind on the Onclick event:
 

        Dim strWorkOrderID As String = txtWorkOrderID.Text

        Dim datDateWorked As Date = txtDateWorked.Text

        Dim strWorkPerformed As String = txtWorkDone.Text

       

        odsWorkOrderDetail.InsertParameters("WorkOrderID").DefaultValue = strWorkOrderID.ToString()

        odsWorkOrderDetail.InsertParameters("WorkDone").DefaultValue = strWorkPerformed.ToString()

        odsWorkOrderDetail.InsertParameters("DateWorked").DefaultValue = datDateWorked.ToShortDateString()  ****Fails Here****

        odsWorkOrderDetail.Insert()
 

 
 

ObjectDataSource:
 

 
 

<asp:ObjectDataSource ID="odsWorkOrderDetail" runat="server" 

                    InsertMethod="AddWorkOrderDetail" OldValuesParameterFormatString="{0}" 

                    SelectMethod="GetWorkOrderDetails" TypeName="WorkOrderBLL">

                    <SelectParameters>

                        <asp:Parameter Name="WorkOrderID" Type="String" />

                    </SelectParameters>

                    <InsertParameters>

                        <asp:Parameter Name="WorkOrderID" Type="String" />

                        <asp:Parameter Name="WorkDate" Type="DateTime" />

                        <asp:Parameter Name="WorkDone" Type="String" />

                    </InsertParameters>

                </asp:ObjectDataSource>
 

 BLL:
 

 <System.ComponentModel.DataObjectMethod(System.ComponentModel.DataObjectMethodType.Insert, False)> _

   Public Function AddWorkOrderDetail _

                  (ByVal workOrderID As String, _

                   ByVal workDate As Date, _

                   ByVal workDone As String) As Boolean

        Dim workOrderDetail As New WorkOrderDAL.FAC_WorkOrderDetailsDataTable

        Dim workOrderDetailRecord As WorkOrderDAL.FAC_WorkOrderDetailsRow = workOrderDetail.NewFAC_WorkOrderDetailsRow()
 

        workOrderDetailRecord.WorkOrderID = workOrderID

        workOrderDetailRecord.WorkDate = workDate

        workOrderDetailRecord.WorkDone = workDone
 

        workOrderDetail.AddFAC_WorkOrderDetailsRow(workOrderDetailRecord)

        Dim rowsAffected As Integer = DetailsAdapter.Update(workOrderDetail)

        Return rowsAffected = 1

    End Function
 
 

 
 

Stored Procedure:
 

 
 

ALTER PROCEDURE dbo.spInsertFAC_WorkOrderDetails

(

@WorkOrderID varchar(15),

@WorkDate datetime,

@WorkDone varchar (1000))

AS 

SET NOCOUNT OFF;
 
 

INSERT INTO dbo.FAC_WorkOrderDetails ([WorkOrderID], [WorkDate], [WorkDone])

     VALUES (@WorkOrderID, @WorkDate, @WorkDone);

SELECT WorkOrderID, WorkDate, WorkDone FROM dbo.FAC__WorkOrderDetails 

WHERE (WorkOrderDetailID = SCOPE_IDENTITY())

Open in new window

0
Comment
Question by:AkAlan
  • 3
  • 2
6 Comments
 
LVL 11

Expert Comment

by:fanopoe
Comment Utility
dates really stink in cross platform programming, and you're taking a test string, changing it to a data, then to a date string, then passing it to a database. What happens when you declare datDateWorked  as a string instead and pass the value thusly?

hth
0
 
LVL 6

Author Comment

by:AkAlan
Comment Utility
Same exact error. I even tried to hard code the date like this:
odsWorkOrderDetail.InsertParameters("DateWorked").DefaultValue = #1/1/2008#
it still gave me the same exact error
0
 
LVL 22

Accepted Solution

by:
prairiedog earned 500 total points
Comment Utility
Parameter name does not match?
<asp:Parameter Name="WorkDate" Type="DateTime" />
odsWorkOrderDetail.InsertParameters("DateWorked").DefaultValue = datDateWorked.ToShortDateString()  
0
Free Gift Card with Acronis Backup Purchase!

Backup any data in any location: local and remote systems, physical and virtual servers, private and public clouds, Macs and PCs, tablets and mobile devices, & more! For limited time only, buy any Acronis backup products and get a FREE Amazon/Best Buy gift card worth up to $200!

 
LVL 6

Author Comment

by:AkAlan
Comment Utility
Thanks, I must be way too close to this.
0
 
LVL 22

Expert Comment

by:prairiedog
Comment Utility
It happens. Especially after you have seen your own code for a thousand times, you will need a pair eyes from another person to find this kind of error.
0
 
LVL 6

Author Closing Comment

by:AkAlan
Comment Utility
That did the trick. Now I have another problem but that will be for another post if I can't figure it out. Thanks, I looked at this for 4 hours.
0

Featured Post

Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

In this article I will describe the Copy Database Wizard method as one possible migration process and I will add the extra tasks needed for an upgrade when and where is applied so it will cover all.
It’s a strangely common occurrence that when you send someone their login details for a system, they can’t get in. This article will help you understand why it happens, and what you can do about it.
This video teaches users how to migrate an existing Wordpress website to a new domain.
Use Wufoo, an online form creation tool, to make powerful forms. Learn how to selectively show certain fields based on user input using rules to gather relevant information and data from your forms. The rules feature provides you with an opportunity…

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now