UpdateCheck problem for DATETIME column
Posted: Thu 03 Mar 2011 17:17
I experience similar problem to the one described in this thread:
http://www.devart.com/forums/viewtopic. ... w++changed
The problem concerns SQLite version 3.x of dotConnect (older versions 2.x worked correctly).
It could be reproduced by the following steps:
1) create simple table with DATETIME column, e.g.:
2) insert a record into table NOT by datacontext, use e.g. any console for SqLite:
3) Running following code:
...results in following exception:
2b) By the way, if you insert a record with datacontext:
then updating code in (3) is executed properly without any exception. So, I looked for difference between values inserted manually and by datacontext:

The difference is probably in miliseconds.
My conclusion -> A workaround for this problem is to set UpdateCheck=Never for each DATETIME entity. However, I think it shall be resolved either by modifying update query or setting UpdateCheck property to 'Never' by default for DATETIME entities.
Thanks for your attenttion in advance.
http://www.devart.com/forums/viewtopic. ... w++changed
The problem concerns SQLite version 3.x of dotConnect (older versions 2.x worked correctly).
It could be reproduced by the following steps:
1) create simple table with DATETIME column, e.g.:
Code: Select all
CREATE TABLE [table_test] (
[id] INT NOT NULL,
[date_update] DATETIME NOT NULL,
CONSTRAINT [] PRIMARY KEY ([id]));
Code: Select all
insert into table_test (id, date_update) VALUES (1, '2011-03-03 17:48:10');
Code: Select all
TableTest test = DB.TableTests.Where(tt => tt.Id == 1).Single();
test.Date_update = DateTime.Now;
DB.SubmitChanges();
Code: Select all
Message: "Row not found or changed."
at Devart.Data.Linq.y.a(DataContext A_0, ConflictMode A_1)
at Devart.Data.Linq.y.b(DataContext A_0, ConflictMode A_1)
at Devart.Data.Linq.DataContext.SubmitChanges(ConflictMode failureMode)
at Devart.Data.Linq.DataContext.SubmitChanges()
...
2b) By the way, if you insert a record with datacontext:
Code: Select all
TableTest test = new TableTest();
test.Id = 2;
test.Date_update = DateTime.Now;
DB.TableTests.InsertOnSubmit(test);
DB.SubmitChanges();

The difference is probably in miliseconds.
My conclusion -> A workaround for this problem is to set UpdateCheck=Never for each DATETIME entity. However, I think it shall be resolved either by modifying update query or setting UpdateCheck property to 'Never' by default for DATETIME entities.
Thanks for your attenttion in advance.