简体   繁体   中英

DateTimePicker value not saved to SQL Server database

I have a Windows Forms application with many values being written successfully to my database. It uses a DataSet and all the usual auto generated table adapters etc. I haven't fiddled with any of this. I simply dragged and dropped my fields from the DataSources tab onto my form. The autogenerated SQL looks normal.

I have two DateTimePicker controls data bound in the same way and neither of them are written out to the database if I use defaulted values. The data format in SQL Server is datetime.

From the forms Load method I am setting the initial date value like this.

// Set the Date entered to Today
dateTimePickerDateEntered.Value = DateTime.Now;

// Set the call back date to Today + 7 days
dateTimePickerCallBackDate.Value = DateTime.Now.AddDays(7);

If I manually change date using the datetimepicker control it is successfully saved to the database. I did google this problem and found solutions that suggest things that I am already doing.

The defaulted values look good on the screen and don't appear to change if I actually pick today.

Any ideas what I should do differently?

Thanks David

UPDATE

I executed the save with the default dates and captured the generated sql from the server using a tool called SQL Profile Express.

There were three commands that executed.

exec sp_resetConnection

exec sp_executesql Insert

exec sp_executesql Update

I'm not sure why it is doing an update. It seems to be trying to update an existing unrelated record and I'm inserting a new record. The primary key filed QuoteID is an identity field.

Here is the Insert

`exec sp_executesql N'INSERT INTO [Quote] ([DateEntered], [ContactName], [PreparedFor], [MailAddress1], [MailAddress2], [MASuburb], [MAState], [MAPcode], [SPNumber], [SPAddress1], [SPAddress2], [SPSuburb], [SPState], [SPPcode], [NumberOfUnits], [PricePerUnit], [TotalAnnualFee], [Stationary], [ContactPhoneW], [ContactPhoneH], [ContactPhoneM], [Fax], [Email], [WhyChooseUs], [CurrentlyManagedBy], [DateSent], [CallBackDate], [StatusId], [DocumentLink], [EnteredBy], [PictureLocation]) VALUES (@DateEntered, @ContactName, @PreparedFor, @MailAddress1, @MailAddress2, @MASuburb, @MAState, @MAPcode, @SPNumber, @SPAddress1, @SPAddress2, @SPSuburb, @SPState, @SPPcode, @NumberOfUnits, @PricePerUnit, @TotalAnnualFee, @Stationary, @ContactPhoneW, @ContactPhoneH, @ContactPhoneM, @Fax, @Email, @WhyChooseUs, @CurrentlyManagedBy, @DateSent, @CallBackDate, @StatusId, @DocumentLink, @EnteredBy, @PictureLocation);
SELECT QuoteId, DateEntered, ContactName, PreparedFor, MailAddress1, MailAddress2, MASuburb, MAState, MAPcode, SPNumber, SPAddress1, SPAddress2, SPSuburb, SPState, SPPcode, NumberOfUnits, PricePerUnit, TotalAnnualFee, Stationary, ContactPhoneW, ContactPhoneH, ContactPhoneM, Fax, Email, WhyChooseUs, CurrentlyManagedBy, DateSent, CallBackDate, StatusId, DocumentLink, EnteredBy, PictureLocation FROM Quote WHERE (QuoteId = SCOPE_IDENTITY())',N'@DateEntered datetime,@ContactName char(9),@PreparedFor char(9),@MailAddress1 char(16),@MailAddress2 char(16),@MASuburb char(19),@MAState char(3),@MAPcode char(4),@SPNumber char(6),@SPAddress1 char(18),@SPAddress2 char(18),@SPSuburb char(13),@SPState char(2),@SPPcode char(4),@NumberOfUnits int,@PricePerUnit money,@TotalAnnualFee money,@Stationary money,@ContactPhoneW char(12),@ContactPhoneH char(12),@ContactPhoneM char(12),@Fax char(12),@Email char(19),@WhyChooseUs char(13),@CurrentlyManagedBy char(20),@DateSent datetime,@CallBackDate datetime,@StatusId int,@DocumentLink char(8000),@EnteredBy char(8000),@PictureLocation varchar(63)',@DateEntered=NULL,@ContactName='Joe Smith',@PreparedFor='Bob Jones',@MailAddress1='MAIL ADDRESS ONE',@MailAddress2='MAIL ADDRESS TWO',@MASuburb='MAIL ADDRESS SUBURB',@MAState='NSW',@MAPcode='2000',@SPNumber='123456',@SPAddress1='STRATA ADDRESS ONE',@SPAddress2='STRATA ADDRESS TWO',@SPSuburb='STRATA SUBURB',@SPState='SA',@SPPcode='2001',@NumberOfUnits=100,@PricePerUnit=200.0000,@TotalAnnualFee=20000.0000,@Stationary=3000.0000,@ContactPhoneW='01 123456789',@ContactPhoneH='02 123456789',@ContactPhoneM='03 123456789',@Fax='04 123456789',@Email='my@emailaddress.com',@WhyChooseUs='WHY CHOOSE US',@CurrentlyManagedBy='CURRENTLY MANAGED BY',@DateSent=NULL,@CallBackDate=NULL,@StatusId=NULL,@DocumentLink=NULL,@EnteredBy=NULL,@PictureLocation='C:\Temp\QuoteMasterPlus\Photos\STRATAADDRESSONESTRATASUBURB.jpg'
go`

Here is the Update

    exec sp_executesql N'UPDATE [Quote] SET [DateEntered] = @DateEntered, [ContactName] = @ContactName, [PreparedFor] = @PreparedFor, [MailAddress1] = @MailAddress1, [MailAddress2] = @MailAddress2, [MASuburb] = @MASuburb, [MAState] = @MAState, [MAPcode] = @MAPcode, [SPNumber] = @SPNumber, [SPAddress1] = @SPAddress1, [SPAddress2] = @SPAddress2, [SPSuburb] = @SPSuburb, [SPState] = @SPState, [SPPcode] = @SPPcode, [NumberOfUnits] = @NumberOfUnits, [PricePerUnit] = @PricePerUnit, [TotalAnnualFee] = @TotalAnnualFee, [Stationary] = @Stationary, [ContactPhoneW] = @ContactPhoneW, [ContactPhoneH] = @ContactPhoneH, [ContactPhoneM] = @ContactPhoneM, [Fax] = @Fax, [Email] = @Email, [WhyChooseUs] = @WhyChooseUs, [CurrentlyManagedBy] = @CurrentlyManagedBy, [DateSent] = @DateSent, [CallBackDate] = @CallBackDate, [StatusId] = @StatusId, [DocumentLink] = @DocumentLink, [EnteredBy] = @EnteredBy, [PictureLocation] = @PictureLocation WHERE (([QuoteId] = @Original_QuoteId) AND ((@IsNull_DateEntered = 1 AND [DateEntered] IS NULL) OR ([DateEntered] = @Original_DateEntered)) AND ((@IsNull_ContactName = 1 AND [ContactName] IS NULL) OR ([ContactName] = @Original_ContactName)) AND ((@IsNull_PreparedFor = 1 AND [PreparedFor] IS NULL) OR ([PreparedFor] = @Original_PreparedFor)) AND ((@IsNull_MailAddress1 = 1 AND [MailAddress1] IS NULL) OR ([MailAddress1] = @Original_MailAddress1)) AND ((@IsNull_MailAddress2 = 1 AND [MailAddress2] IS NULL) OR ([MailAddress2] = @Original_MailAddress2)) AND ((@IsNull_MASuburb = 1 AND [MASuburb] IS NULL) OR ([MASuburb] = @Original_MASuburb)) AND ((@IsNull_MAState = 1 AND [MAState] IS NULL) OR ([MAState] = @Original_MAState)) AND ((@IsNull_MAPcode = 1 AND [MAPcode] IS NULL) OR ([MAPcode] = @Original_MAPcode)) AND ((@IsNull_SPNumber = 1 AND [SPNumber] IS NULL) OR ([SPNumber] = @Original_SPNumber)) AND ((@IsNull_SPAddress1 = 1 AND [SPAddress1] IS NULL) OR ([SPAddress1] = @Original_SPAddress1)) AND ((@IsNull_SPAddress2 = 1 AND [SPAddress2] IS NULL) OR ([SPAddress2] = @Original_SPAddress2)) AND ((@IsNull_SPSuburb = 1 AND [SPSuburb] IS NULL) OR ([SPSuburb] = @Original_SPSuburb)) AND ((@IsNull_SPState = 1 AND [SPState] IS NULL) OR ([SPState] = @Original_SPState)) AND ((@IsNull_SPPcode = 1 AND [SPPcode] IS NULL) OR ([SPPcode] = @Original_SPPcode)) AND ((@IsNull_NumberOfUnits = 1 AND [NumberOfUnits] IS NULL) OR ([NumberOfUnits] = @Original_NumberOfUnits)) AND ((@IsNull_PricePerUnit = 1 AND [PricePerUnit] IS NULL) OR ([PricePerUnit] = @Original_PricePerUnit)) AND ((@IsNull_TotalAnnualFee = 1 AND [TotalAnnualFee] IS NULL) OR ([TotalAnnualFee] = @Original_TotalAnnualFee)) AND ((@IsNull_Stationary = 1 AND [Stationary] IS NULL) OR ([Stationary] = @Original_Stationary)) AND ((@IsNull_ContactPhoneW = 1 AND [ContactPhoneW] IS NULL) OR ([ContactPhoneW] = @Original_ContactPhoneW)) AND ((@IsNull_ContactPhoneH = 1 AND [ContactPhoneH] IS NULL) OR ([ContactPhoneH] = @Original_ContactPhoneH)) AND ((@IsNull_ContactPhoneM = 1 AND [ContactPhoneM] IS NULL) OR ([ContactPhoneM] = @Original_ContactPhoneM)) AND ((@IsNull_Fax = 1 AND [Fax] IS NULL) OR ([Fax] = @Original_Fax)) AND ((@IsNull_Email = 1 AND [Email] IS NULL) OR ([Email] = @Original_Email)) AND ((@IsNull_WhyChooseUs = 1 AND [WhyChooseUs] IS NULL) OR ([WhyChooseUs] = @Original_WhyChooseUs)) AND ((@IsNull_CurrentlyManagedBy = 1 AND [CurrentlyManagedBy] IS NULL) OR ([CurrentlyManagedBy] = @Original_CurrentlyManagedBy)) AND ((@IsNull_DateSent = 1 AND [DateSent] IS NULL) OR ([DateSent] = @Original_DateSent)) AND ((@IsNull_CallBackDate = 1 AND [CallBackDate] IS NULL) OR ([CallBackDate] = @Original_CallBackDate)) AND ((@IsNull_StatusId = 1 AND [StatusId] IS NULL) OR ([StatusId] = @Original_StatusId)) AND ((@IsNull_DocumentLink = 1 AND [DocumentLink] IS NULL) OR ([DocumentLink] = @Original_DocumentLink)) AND ((@IsNull_EnteredBy = 1 AND [EnteredBy] IS NULL) OR ([EnteredBy] = @Original_EnteredBy)) AND ((@IsNull_PictureLocation = 1 AND [PictureLocation] IS NULL) OR ([PictureLocation] = @Original_PictureLocation)));
SELECT QuoteId, DateEntered, ContactName, PreparedFor, MailAddress1, MailAddress2, MASuburb, MAState, MAPcode, SPNumber, SPAddress1, SPAddress2, SPSuburb, SPState, SPPcode, NumberOfUnits, PricePerUnit, TotalAnnualFee, Stationary, ContactPhoneW, ContactPhoneH, ContactPhoneM, Fax, Email, WhyChooseUs, CurrentlyManagedBy, DateSent, CallBackDate, StatusId, DocumentLink, EnteredBy, PictureLocation FROM Quote WHERE (QuoteId = @QuoteId)',N'@DateEntered datetime,@ContactName char(50),@PreparedFor char(50),@MailAddress1 char(50),@MailAddress2 char(8000),@MASuburb char(50),@MAState char(3),@MAPcode char(10),@SPNumber char(10),@SPAddress1 char(50),@SPAddress2 char(8000),@SPSuburb char(50),@SPState char(3),@SPPcode char(10),@NumberOfUnits int,@PricePerUnit money,@TotalAnnualFee money,@Stationary money,@ContactPhoneW char(8000),@ContactPhoneH char(8000),@ContactPhoneM char(8000),@Fax char(8000),@Email char(50),@WhyChooseUs char(50),@CurrentlyManagedBy char(50),@DateSent datetime,@CallBackDate datetime,@StatusId int,@DocumentLink char(8000),@EnteredBy char(15),@PictureLocation varchar(8000),@Original_QuoteId int,@IsNull_DateEntered int,@Original_DateEntered datetime,@IsNull_ContactName int,@Original_ContactName char(50),@IsNull_PreparedFor int,@Original_PreparedFor char(50),@IsNull_MailAddress1 int,@Original_MailAddress1 char(50),@IsNull_MailAddress2 int,@Original_MailAddress2 char(8000),@IsNull_MASuburb int,@Original_MASuburb char(50),@IsNull_MAState int,@Original_MAState char(3),@IsNull_MAPcode int,@Original_MAPcode char(10),@IsNull_SPNumber int,@Original_SPNumber char(10),@IsNull_SPAddress1 int,@Original_SPAddress1 char(50),@IsNull_SPAddress2 int,@Original_SPAddress2 char(8000),@IsNull_SPSuburb int,@Original_SPSuburb char(50),@IsNull_SPState int,@Original_SPState char(3),@IsNull_SPPcode int,@Original_SPPcode char(10),@IsNull_NumberOfUnits int,@Original_NumberOfUnits int,@IsNull_PricePerUnit int,@Original_PricePerUnit money,@IsNull_TotalAnnualFee int,@Original_TotalAnnualFee money,@IsNull_Stationary int,@Original_Stationary money,@IsNull_ContactPhoneW int,@Original_ContactPhoneW char(8000),@IsNull_ContactPhoneH int,@Original_ContactPhoneH char(8000),@IsNull_ContactPhoneM int,@Original_ContactPhoneM char(8000),@IsNull_Fax int,@Original_Fax char(8000),@IsNull_Email int,@Original_Email char(50),@IsNull_WhyChooseUs int,@Original_WhyChooseUs char(50),@IsNull_CurrentlyManagedBy int,@Original_CurrentlyManagedBy char(50),@IsNull_DateSent int,@Original_DateSent datetime,@IsNull_CallBackDate int,@Original_CallBackDate datetime,@IsNull_StatusId int,@Original_StatusId int,@IsNull_DocumentLink int,@Original_DocumentLink char(8000),@IsNull_EnteredBy int,@Original_EnteredBy char(15),@IsNull_PictureLocation int,@Original_PictureLocation varchar(8000),@QuoteId int',@DateEntered='2017-05-18 10:36:54.657',@ContactName='Herve Commiegnes                                  ',@PreparedFor='Herve Commiegnes                                  ',@MailAddress1='21 Westbrook Street                               ',@MailAddress2=NULL,@MASuburb='Beverly Hills                                     ',@MAState='NSW',@MAPcode='2209      ',@SPNumber='54038     ',@SPAddress1='29 Riverside Cres                                 ',@SPAddress2=NULL,@SPSuburb='Marrickville                                      ',@SPState='NSW',@SPPcode='2204      ',@NumberOfUnits=4,@PricePerUnit=132.0000,@TotalAnnualFee=NULL,@Stationary=200.0000,@ContactPhoneW=NULL,@ContactPhoneH=NULL,@ContactPhoneM=NULL,@Fax=NULL,@Email='hervec@optushome.com.au                           ',@WhyChooseUs='Recommended                                       ',@CurrentlyManagedBy='Fabos                                             ',@DateSent='2005-12-28 00:00:00',@CallBackDate='2017-05-25 10:36:54.657',@StatusId=2,@DocumentLink=NULL,@EnteredBy='mpollard       ',@PictureLocation=NULL,@Original_QuoteId=19,@IsNull_DateEntered=0,@Original_DateEntered='2017-05-17 09:33:37.480',@IsNull_ContactName=0,@Original_ContactName='Herve Commiegnes                                  ',@IsNull_PreparedFor=0,@Original_PreparedFor='Herve Commiegnes                                  ',@IsNull_MailAddress1=0,@Original_MailAddress1='21 Westbrook Street                               ',@IsNull_MailAddress2=1,@Original_MailAddress2=NULL,@IsNull_MASuburb=0,@Original_MASuburb='Beverly Hills                                     ',@IsNull_MAState=0,@Original_MAState='NSW',@IsNull_MAPcode=0,@Original_MAPcode='2209      ',@IsNull_SPNumber=0,@Original_SPNumber='54038     ',@IsNull_SPAddress1=0,@Original_SPAddress1='29 Riverside Cres                                 ',@IsNull_SPAddress2=1,@Original_SPAddress2=NULL,@IsNull_SPSuburb=0,@Original_SPSuburb='Marrickville                                      ',@IsNull_SPState=0,@Original_SPState='NSW',@IsNull_SPPcode=0,@Original_SPPcode='2204      ',@IsNull_NumberOfUnits=0,@Original_NumberOfUnits=4,@IsNull_PricePerUnit=0,@Original_PricePerUnit=132.0000,@IsNull_TotalAnnualFee=1,@Original_TotalAnnualFee=NULL,@IsNull_Stationary=0,@Original_Stationary=200.0000,@IsNull_ContactPhoneW=1,@Original_ContactPhoneW=NULL,@IsNull_ContactPhoneH=1,@Original_ContactPhoneH=NULL,@IsNull_ContactPhoneM=1,@Original_ContactPhoneM=NULL,@IsNull_Fax=1,@Original_Fax=NULL,@IsNull_Email=0,@Original_Email='hervec@optushome.com.au                           ',@IsNull_WhyChooseUs=0,@Original_WhyChooseUs='Recommended                                       ',@IsNull_CurrentlyManagedBy=0,@Original_CurrentlyManagedBy='Fabos                                             ',@IsNull_DateSent=0,@Original_DateSent='2005-12-28 00:00:00',@IsNull_CallBackDate=0,@Original_CallBackDate='2017-05-24 09:33:37.480',@IsNull_StatusId=0,@Original_StatusId=2,@IsNull_DocumentLink=1,@Original_DocumentLink=NULL,@IsNull_EnteredBy=0,@Original_EnteredBy='mpollard       ',@IsNull_PictureLocation=1,@Original_PictureLocation=NULL,@QuoteId=19
go

Then I did pretty much the same again but this time set the dates within the date time picker instead of leaving them at my default dates. I picked tomorrow (19 May 2017) for the Date entered and 26 May 2017 for the Call back date. This time all fields except Date Entered were inserted into the database.

Just so it is clear. This time CallBackDate worked and Dated Entered Did not.

Same three commands generated, Reset, Insert and Update

Can anyone spot what is going on here?

Here is the Insert Command

exec sp_executesql N'INSERT INTO [Quote] ([DateEntered], [ContactName], [PreparedFor], [MailAddress1], [MailAddress2], [MASuburb], [MAState], [MAPcode], [SPNumber], [SPAddress1], [SPAddress2], [SPSuburb], [SPState], [SPPcode], [NumberOfUnits], [PricePerUnit], [TotalAnnualFee], [Stationary], [ContactPhoneW], [ContactPhoneH], [ContactPhoneM], [Fax], [Email], [WhyChooseUs], [CurrentlyManagedBy], [DateSent], [CallBackDate], [StatusId], [DocumentLink], [EnteredBy], [PictureLocation]) VALUES (@DateEntered, @ContactName, @PreparedFor, @MailAddress1, @MailAddress2, @MASuburb, @MAState, @MAPcode, @SPNumber, @SPAddress1, @SPAddress2, @SPSuburb, @SPState, @SPPcode, @NumberOfUnits, @PricePerUnit, @TotalAnnualFee, @Stationary, @ContactPhoneW, @ContactPhoneH, @ContactPhoneM, @Fax, @Email, @WhyChooseUs, @CurrentlyManagedBy, @DateSent, @CallBackDate, @StatusId, @DocumentLink, @EnteredBy, @PictureLocation);
SELECT QuoteId, DateEntered, ContactName, PreparedFor, MailAddress1, MailAddress2, MASuburb, MAState, MAPcode, SPNumber, SPAddress1, SPAddress2, SPSuburb, SPState, SPPcode, NumberOfUnits, PricePerUnit, TotalAnnualFee, Stationary, ContactPhoneW, ContactPhoneH, ContactPhoneM, Fax, Email, WhyChooseUs, CurrentlyManagedBy, DateSent, CallBackDate, StatusId, DocumentLink, EnteredBy, PictureLocation FROM Quote WHERE (QuoteId = SCOPE_IDENTITY())',N'@DateEntered datetime,@ContactName char(12),@PreparedFor char(12),@MailAddress1 char(16),@MailAddress2 char(16),@MASuburb char(11),@MAState char(3),@MAPcode char(4),@SPNumber char(8),@SPAddress1 char(18),@SPAddress2 char(18),@SPSuburb char(6),@SPState char(2),@SPPcode char(4),@NumberOfUnits int,@PricePerUnit money,@TotalAnnualFee money,@Stationary money,@ContactPhoneW char(11),@ContactPhoneH char(11),@ContactPhoneM char(11),@Fax char(11),@Email char(12),@WhyChooseUs char(13),@CurrentlyManagedBy char(20),@DateSent datetime,@CallBackDate datetime,@StatusId int,@DocumentLink char(8000),@EnteredBy char(8000),@PictureLocation varchar(57)',@DateEntered='2017-05-19 11:38:53',@ContactName='CONTACT NAME',@PreparedFor='PREPARED FOR',@MailAddress1='MAIL ADDRESS ONE',@MailAddress2='MAIL ADDRESS TWO',@MASuburb='MAIL SUBURB',@MAState='NSW',@MAPcode='2000',@SPNumber='12345678',@SPAddress1='STRATA ADDRESS ONE',@SPAddress2='STRATA ADDRESS TWO',@SPSuburb='SUBURB',@SPState='SA',@SPPcode='2001',@NumberOfUnits=100,@PricePerUnit=200.0000,@TotalAnnualFee=20000.0000,@Stationary=100.0000,@ContactPhoneW='01 12345678',@ContactPhoneH='02 12345678',@ContactPhoneM='03 12345678',@Fax='03 12345678',@Email='my@email.com',@WhyChooseUs='WHY CHOOSE US',@CurrentlyManagedBy='CURRENTLY MANAGED BY',@DateSent=NULL,@CallBackDate='2017-05-26 11:38:53',@StatusId=NULL,@DocumentLink=NULL,@EnteredBy=NULL,@PictureLocation='C:\Temp\QuoteMasterPlus\Photos\STRATAADDRESSONESUBURB.jpg'
go

Here is the Update Command

exec sp_executesql N'UPDATE [Quote] SET [DateEntered] = @DateEntered, [ContactName] = @ContactName, [PreparedFor] = @PreparedFor, [MailAddress1] = @MailAddress1, [MailAddress2] = @MailAddress2, [MASuburb] = @MASuburb, [MAState] = @MAState, [MAPcode] = @MAPcode, [SPNumber] = @SPNumber, [SPAddress1] = @SPAddress1, [SPAddress2] = @SPAddress2, [SPSuburb] = @SPSuburb, [SPState] = @SPState, [SPPcode] = @SPPcode, [NumberOfUnits] = @NumberOfUnits, [PricePerUnit] = @PricePerUnit, [TotalAnnualFee] = @TotalAnnualFee, [Stationary] = @Stationary, [ContactPhoneW] = @ContactPhoneW, [ContactPhoneH] = @ContactPhoneH, [ContactPhoneM] = @ContactPhoneM, [Fax] = @Fax, [Email] = @Email, [WhyChooseUs] = @WhyChooseUs, [CurrentlyManagedBy] = @CurrentlyManagedBy, [DateSent] = @DateSent, [CallBackDate] = @CallBackDate, [StatusId] = @StatusId, [DocumentLink] = @DocumentLink, [EnteredBy] = @EnteredBy, [PictureLocation] = @PictureLocation WHERE (([QuoteId] = @Original_QuoteId) AND ((@IsNull_DateEntered = 1 AND [DateEntered] IS NULL) OR ([DateEntered] = @Original_DateEntered)) AND ((@IsNull_ContactName = 1 AND [ContactName] IS NULL) OR ([ContactName] = @Original_ContactName)) AND ((@IsNull_PreparedFor = 1 AND [PreparedFor] IS NULL) OR ([PreparedFor] = @Original_PreparedFor)) AND ((@IsNull_MailAddress1 = 1 AND [MailAddress1] IS NULL) OR ([MailAddress1] = @Original_MailAddress1)) AND ((@IsNull_MailAddress2 = 1 AND [MailAddress2] IS NULL) OR ([MailAddress2] = @Original_MailAddress2)) AND ((@IsNull_MASuburb = 1 AND [MASuburb] IS NULL) OR ([MASuburb] = @Original_MASuburb)) AND ((@IsNull_MAState = 1 AND [MAState] IS NULL) OR ([MAState] = @Original_MAState)) AND ((@IsNull_MAPcode = 1 AND [MAPcode] IS NULL) OR ([MAPcode] = @Original_MAPcode)) AND ((@IsNull_SPNumber = 1 AND [SPNumber] IS NULL) OR ([SPNumber] = @Original_SPNumber)) AND ((@IsNull_SPAddress1 = 1 AND [SPAddress1] IS NULL) OR ([SPAddress1] = @Original_SPAddress1)) AND ((@IsNull_SPAddress2 = 1 AND [SPAddress2] IS NULL) OR ([SPAddress2] = @Original_SPAddress2)) AND ((@IsNull_SPSuburb = 1 AND [SPSuburb] IS NULL) OR ([SPSuburb] = @Original_SPSuburb)) AND ((@IsNull_SPState = 1 AND [SPState] IS NULL) OR ([SPState] = @Original_SPState)) AND ((@IsNull_SPPcode = 1 AND [SPPcode] IS NULL) OR ([SPPcode] = @Original_SPPcode)) AND ((@IsNull_NumberOfUnits = 1 AND [NumberOfUnits] IS NULL) OR ([NumberOfUnits] = @Original_NumberOfUnits)) AND ((@IsNull_PricePerUnit = 1 AND [PricePerUnit] IS NULL) OR ([PricePerUnit] = @Original_PricePerUnit)) AND ((@IsNull_TotalAnnualFee = 1 AND [TotalAnnualFee] IS NULL) OR ([TotalAnnualFee] = @Original_TotalAnnualFee)) AND ((@IsNull_Stationary = 1 AND [Stationary] IS NULL) OR ([Stationary] = @Original_Stationary)) AND ((@IsNull_ContactPhoneW = 1 AND [ContactPhoneW] IS NULL) OR ([ContactPhoneW] = @Original_ContactPhoneW)) AND ((@IsNull_ContactPhoneH = 1 AND [ContactPhoneH] IS NULL) OR ([ContactPhoneH] = @Original_ContactPhoneH)) AND ((@IsNull_ContactPhoneM = 1 AND [ContactPhoneM] IS NULL) OR ([ContactPhoneM] = @Original_ContactPhoneM)) AND ((@IsNull_Fax = 1 AND [Fax] IS NULL) OR ([Fax] = @Original_Fax)) AND ((@IsNull_Email = 1 AND [Email] IS NULL) OR ([Email] = @Original_Email)) AND ((@IsNull_WhyChooseUs = 1 AND [WhyChooseUs] IS NULL) OR ([WhyChooseUs] = @Original_WhyChooseUs)) AND ((@IsNull_CurrentlyManagedBy = 1 AND [CurrentlyManagedBy] IS NULL) OR ([CurrentlyManagedBy] = @Original_CurrentlyManagedBy)) AND ((@IsNull_DateSent = 1 AND [DateSent] IS NULL) OR ([DateSent] = @Original_DateSent)) AND ((@IsNull_CallBackDate = 1 AND [CallBackDate] IS NULL) OR ([CallBackDate] = @Original_CallBackDate)) AND ((@IsNull_StatusId = 1 AND [StatusId] IS NULL) OR ([StatusId] = @Original_StatusId)) AND ((@IsNull_DocumentLink = 1 AND [DocumentLink] IS NULL) OR ([DocumentLink] = @Original_DocumentLink)) AND ((@IsNull_EnteredBy = 1 AND [EnteredBy] IS NULL) OR ([EnteredBy] = @Original_EnteredBy)) AND ((@IsNull_PictureLocation = 1 AND [PictureLocation] IS NULL) OR ([PictureLocation] = @Original_PictureLocation)));
SELECT QuoteId, DateEntered, ContactName, PreparedFor, MailAddress1, MailAddress2, MASuburb, MAState, MAPcode, SPNumber, SPAddress1, SPAddress2, SPSuburb, SPState, SPPcode, NumberOfUnits, PricePerUnit, TotalAnnualFee, Stationary, ContactPhoneW, ContactPhoneH, ContactPhoneM, Fax, Email, WhyChooseUs, CurrentlyManagedBy, DateSent, CallBackDate, StatusId, DocumentLink, EnteredBy, PictureLocation FROM Quote WHERE (QuoteId = @QuoteId)',N'@DateEntered datetime,@ContactName char(50),@PreparedFor char(50),@MailAddress1 char(50),@MailAddress2 char(8000),@MASuburb char(50),@MAState char(3),@MAPcode char(10),@SPNumber char(10),@SPAddress1 char(50),@SPAddress2 char(8000),@SPSuburb char(50),@SPState char(3),@SPPcode char(10),@NumberOfUnits int,@PricePerUnit money,@TotalAnnualFee money,@Stationary money,@ContactPhoneW char(8000),@ContactPhoneH char(8000),@ContactPhoneM char(8000),@Fax char(8000),@Email char(50),@WhyChooseUs char(50),@CurrentlyManagedBy char(50),@DateSent datetime,@CallBackDate datetime,@StatusId int,@DocumentLink char(8000),@EnteredBy char(15),@PictureLocation varchar(8000),@Original_QuoteId int,@IsNull_DateEntered int,@Original_DateEntered datetime,@IsNull_ContactName int,@Original_ContactName char(50),@IsNull_PreparedFor int,@Original_PreparedFor char(50),@IsNull_MailAddress1 int,@Original_MailAddress1 char(50),@IsNull_MailAddress2 int,@Original_MailAddress2 char(8000),@IsNull_MASuburb int,@Original_MASuburb char(50),@IsNull_MAState int,@Original_MAState char(3),@IsNull_MAPcode int,@Original_MAPcode char(10),@IsNull_SPNumber int,@Original_SPNumber char(10),@IsNull_SPAddress1 int,@Original_SPAddress1 char(50),@IsNull_SPAddress2 int,@Original_SPAddress2 char(8000),@IsNull_SPSuburb int,@Original_SPSuburb char(50),@IsNull_SPState int,@Original_SPState char(3),@IsNull_SPPcode int,@Original_SPPcode char(10),@IsNull_NumberOfUnits int,@Original_NumberOfUnits int,@IsNull_PricePerUnit int,@Original_PricePerUnit money,@IsNull_TotalAnnualFee int,@Original_TotalAnnualFee money,@IsNull_Stationary int,@Original_Stationary money,@IsNull_ContactPhoneW int,@Original_ContactPhoneW char(8000),@IsNull_ContactPhoneH int,@Original_ContactPhoneH char(8000),@IsNull_ContactPhoneM int,@Original_ContactPhoneM char(8000),@IsNull_Fax int,@Original_Fax char(8000),@IsNull_Email int,@Original_Email char(50),@IsNull_WhyChooseUs int,@Original_WhyChooseUs char(50),@IsNull_CurrentlyManagedBy int,@Original_CurrentlyManagedBy char(50),@IsNull_DateSent int,@Original_DateSent datetime,@IsNull_CallBackDate int,@Original_CallBackDate datetime,@IsNull_StatusId int,@Original_StatusId int,@IsNull_DocumentLink int,@Original_DocumentLink char(8000),@IsNull_EnteredBy int,@Original_EnteredBy char(15),@IsNull_PictureLocation int,@Original_PictureLocation varchar(8000),@QuoteId int',@DateEntered='2017-05-18 11:38:53.353',@ContactName='Herve Commiegnes                                  ',@PreparedFor='Herve Commiegnes                                  ',@MailAddress1='21 Westbrook Street                               ',@MailAddress2=NULL,@MASuburb='Beverly Hills                                     ',@MAState='NSW',@MAPcode='2209      ',@SPNumber='54038     ',@SPAddress1='29 Riverside Cres                                 ',@SPAddress2=NULL,@SPSuburb='Marrickville                                      ',@SPState='NSW',@SPPcode='2204      ',@NumberOfUnits=4,@PricePerUnit=132.0000,@TotalAnnualFee=NULL,@Stationary=200.0000,@ContactPhoneW=NULL,@ContactPhoneH=NULL,@ContactPhoneM=NULL,@Fax=NULL,@Email='hervec@optushome.com.au                           ',@WhyChooseUs='Recommended                                       ',@CurrentlyManagedBy='Fabos                                             ',@DateSent='2005-12-28 00:00:00',@CallBackDate='2017-05-25 11:38:53.353',@StatusId=2,@DocumentLink=NULL,@EnteredBy='mpollard       ',@PictureLocation=NULL,@Original_QuoteId=19,@IsNull_DateEntered=0,@Original_DateEntered='2017-05-18 10:36:54.657',@IsNull_ContactName=0,@Original_ContactName='Herve Commiegnes                                  ',@IsNull_PreparedFor=0,@Original_PreparedFor='Herve Commiegnes                                  ',@IsNull_MailAddress1=0,@Original_MailAddress1='21 Westbrook Street                               ',@IsNull_MailAddress2=1,@Original_MailAddress2=NULL,@IsNull_MASuburb=0,@Original_MASuburb='Beverly Hills                                     ',@IsNull_MAState=0,@Original_MAState='NSW',@IsNull_MAPcode=0,@Original_MAPcode='2209      ',@IsNull_SPNumber=0,@Original_SPNumber='54038     ',@IsNull_SPAddress1=0,@Original_SPAddress1='29 Riverside Cres                                 ',@IsNull_SPAddress2=1,@Original_SPAddress2=NULL,@IsNull_SPSuburb=0,@Original_SPSuburb='Marrickville                                      ',@IsNull_SPState=0,@Original_SPState='NSW',@IsNull_SPPcode=0,@Original_SPPcode='2204      ',@IsNull_NumberOfUnits=0,@Original_NumberOfUnits=4,@IsNull_PricePerUnit=0,@Original_PricePerUnit=132.0000,@IsNull_TotalAnnualFee=1,@Original_TotalAnnualFee=NULL,@IsNull_Stationary=0,@Original_Stationary=200.0000,@IsNull_ContactPhoneW=1,@Original_ContactPhoneW=NULL,@IsNull_ContactPhoneH=1,@Original_ContactPhoneH=NULL,@IsNull_ContactPhoneM=1,@Original_ContactPhoneM=NULL,@IsNull_Fax=1,@Original_Fax=NULL,@IsNull_Email=0,@Original_Email='hervec@optushome.com.au                           ',@IsNull_WhyChooseUs=0,@Original_WhyChooseUs='Recommended                                       ',@IsNull_CurrentlyManagedBy=0,@Original_CurrentlyManagedBy='Fabos                                             ',@IsNull_DateSent=0,@Original_DateSent='2005-12-28 00:00:00',@IsNull_CallBackDate=0,@Original_CallBackDate='2017-05-25 10:36:54.657',@IsNull_StatusId=0,@Original_StatusId=2,@IsNull_DocumentLink=1,@Original_DocumentLink=NULL,@IsNull_EnteredBy=0,@Original_EnteredBy='mpollard       ',@IsNull_PictureLocation=1,@Original_PictureLocation=NULL,@QuoteId=19
go

UPDATE 2

Looking at the update portion of the captured SQL it makes absolutely no sense to me. The details in the parameters are for a completely different record. I am creating a new record where the ID is 2122 or there about and the record updated is ID 19. Sure enough if I look at the record with ID 19 I see really old data ~ 2006 has been updated with my 2017 Date. How on earth did visual studio come up with this SQL?

Even stranger it looks like it always updates record ID 19 which is the first record in the table.

From what I can see:

  1. Insert 1 @DateEntered = NULL
  2. Update 1 @DateEntered = 2017-05-18 10:36:54.657
  3. Insert 2 @DateEntered = 2017-05-19 11:38:53
  4. Update 2 @DateEntered = 2017-05-18 11:38:53.353.

Without seeing the code I cannot be certain but I am presuming where you are setting the parameter for @DateEntered is incorrect.

I can't believe how simple this turned out to be.

My FormMainLoad looked like this.

1) Fill my dataset (first record is loaded as the current record)

2) Set my default dates (guess what it changes the first record)

3) Set the dialog to a start a new record.

Bingo: They are in the wrong order

When I go to save it does an update on the first record and an Insert on the new record.

    private void FormMain_Load(object sender, EventArgs e)
    {
        // This line of code loads data into the 'quoteDataSet.Quote' table. You can move, or remove it, as needed.
        this.quoteTableAdapter.Fill(this.quoteDataSet.Quote);

        // Set the Date entered to Today
        dateTimePickerDateEntered.Value = DateTime.Now;

        // Set the call back date to Today + 7 days
        dateTimePickerCallBackDate.Value = DateTime.Now.AddDays(7);

        //Start the dialog in Add New Record Mode
        this.quoteBindingNavigator.Items["bindingNavigatorAddNewItem"].PerformClick();
    }

So I changed the order of the commands to this

1) Load the dataset

2) Set the dialog to start a new record

3) Set the default dates

And it works. Funny how me assuming the problem was with the datetime picker started me on a wild goose chase. Coupled with me not initially noticing that the first record was being updated.

    private void FormMain_Load(object sender, EventArgs e)
    {
        // This line of code loads data into the 'quoteDataSet.Quote' table. You can move, or remove it, as needed.
        this.quoteTableAdapter.Fill(this.quoteDataSet.Quote);

        //Start the dialog in Add New Record Mode
        this.quoteBindingNavigator.Items["bindingNavigatorAddNewItem"].PerformClick();

        // Set the Date entered to Today
        dateTimePickerDateEntered.Value = DateTime.Now;

        // Set the call back date to Today + 7 days
        dateTimePickerCallBackDate.Value = DateTime.Now.AddDays(7);
    }

Thanks to everyone who commented. Answering your questions forced me to look harder at my code and step through the it slower and deeper until the answer hit me in the face.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM