This is a migrated thread and some comments may be shown as answers.

Row not found

1 Answer 73 Views
Data Access Free Edition
This is a migrated thread and some comments may be shown as answers.
This question is locked. New answers and comments are not allowed.
Galin
Top achievements
Rank 1
Galin asked on 05 Sep 2013, 03:28 PM
Hello,
I've isolated my problem to the following example:
Single context, on the left: listbox with 2 'Request' items; on the right: the Date and User properties for the selected Request
Both items display correctly, and modifying the User property works fine. But for some reason changing the date only works for the first Request(ID=2), changing it for the second one(ID=3) throws a Telerik.OpenAccess Error: 887 : Row not found: GenericOID@a8ee84cc Request ID=3. I've logged a simple reproduction where first I modify and save the date for Request(ID=2), then I try to do the same with the date of Request(ID=3) and finally I update the User for the one that was supposed to be missing and it works fine :)

About to change model property: Date sender: Sklad.Data.Request

Telerik.OpenAccess Information: 636 : sm.store                    1 1 OID(s) delete 0 OID(s) 3 returnFieldsUpdatedBySM
Telerik.OpenAccess Information: 637 : driver.pool.alloc           1 active=1/10 idle=1/10 con=-843729013
Telerik.OpenAccess Information: 638 : driver.con.begin            54 ReadCommitted
Telerik.OpenAccess Information: 639 : driver.con.createStat       54
Telerik.OpenAccess Information: 640 : driver.pspool.alloc         48 54 UPDATE [Requests] SET [Date]=? WHERE [ID] = ? AND [Date]=?
sm.store                    1 1 OID(s) delete 0 OID(s) 3 returnFieldsUpdatedBySM
driver.pool.alloc           1 active=1/10 idle=1/10 con=-843729013
driver.con.begin            54 ReadCommitted
driver.con.createStat       54
driver.pspool.alloc         48 54 UPDATE [Requests] SET [Date]=? WHERE [ID] = ? AND [Date]=?
driver.con.prepareCall      54 UPDATE [Requests] SET [Date]=@p0 WHERE [ID] = @p1 AND [Date]=@p2
Telerik.OpenAccess Information: 641 : driver.con.prepareCall      54 UPDATE [Requests] SET [Date]=@p0 WHERE [ID] = @p1 AND [Date]=@p2
Telerik.OpenAccess Information: 642 : driver.stat.executeNonQuery 54 UPDATE [Requests] SET [Date]=@p0 WHERE [ID] = @p1 AND [Date]=@p2 [@p0="2013-07-31" @p1=2 @p2="2013-07-30"]
Telerik.OpenAccess Information: 643 : driver.con.commit           54
Telerik.OpenAccess Information: 644 : driver.con.close            54
Telerik.OpenAccess Information: 645 : cache.evict.oids            1
Telerik.OpenAccess Information: 646 : sm.begin                    1 optimistic
Telerik.OpenAccess Information: 647 : sm.fetch                    Sklad.Data.Batch 2 [__requestsSklad.Data.Batch2] _requests 0 state(s)
Telerik.OpenAccess Information: 648 : driver.pool.alloc           1 active=1/10 idle=0/10 con=-843663477
Telerik.OpenAccess Information: 649 : driver.con.createStat       53
Telerik.OpenAccess Information: 650 : driver.pspool.alloc         49 53 SELECT b.[ID] COL1, b.[BatchID] COL2, b.[BatchID] COL3, strftime('%Y-%m-%d %H:%M:%f',b.[Date]) COL4, b.[ID] COL5, b.[UserID] COL6, b.[UserID] COL7 FROM [Batches] a LEFT JOIN [Requests] AS b ON (a.[ID] = b.[BatchID]) WHERE a.[ID] = ?                                       
driver.stat.executeNonQuery 54 UPDATE [Requests] SET [Date]=@p0 WHERE [ID] = @p1 AND [Date]=@p2 [@p0="2013-07-31" @p1=2 @p2="2013-07-30"]
driver.con.commit           54
driver.con.close            54
cache.evict.oids            1
sm.begin                    1 optimistic
sm.fetch                    Sklad.Data.Batch 2 [__requestsSklad.Data.Batch2] _requests 0 state(s)
driver.pool.alloc           1 active=1/10 idle=0/10 con=-843663477
driver.con.createStat       53
driver.pspool.alloc         49 53 SELECT b.[ID] COL1, b.[BatchID] COL2, b.[BatchID] COL3, strftime('%Y-%m-%d %H:%M:%f',b.[Date]) COL4, b.[ID] COL5, b.[UserID] COL6, b.[UserID] COL7 FROM [Batches] a LEFT JOIN [Requests] AS b ON (a.[ID] = b.[BatchID]) WHERE a.[ID] = ?                                       
driver.con.prepareCall      53 SELECT b.[ID] COL1, b.[BatchID] COL2, b.[BatchID] COL3, strftime('%Y-%m-%d %H:%M:%f',b.[Date]) COL4, b.[ID] COL5, b.[UserID] COL6, b.[UserID] COL7 FROM [Batches] a LEFT JOIN [Requests] AS b ON (a.[ID] = b.[Telerik.OpenAccess Information: 651 : driver.con.prepareCall      53 SELECT b.[ID] COL1, b.[BatchID] COL2, b.[BatchID] COL3, strftime('%Y-%m-%d %H:%M:%f',b.[Date]) COL4, b.[ID] COL5, b.[UserID] COL6, b.[UserID] COL7 FROM [Batches] a LEFT JOIN [Requests] AS b ON (a.[ID] = b.[BatchID]) WHERE a.[ID] = @p0                                       
Telerik.OpenAccess Information: 653 : driver.stat.execQuery       53 SELECT b.[ID] COL1, b.[BatchID] COL2, b.[BatchID] COL3, strftime('%Y-%m-%d %H:%M:%f',b.[Date]) COL4, b.[ID] COL5, b.[UserID] COL6, b.[UserID] COL7 FROM [Batches] a LEFT JOIN [Requests] AS b ON (a.[ID] = b.[BatchID]) WHERE a.[ID] = @p0                                        [@p0=2]
Telerik.OpenAccess Information: 652 : driver.con.connect          55 enlist=false;data source="C:\Users\Otherside\Documents\Visual Studio 2012\Projects\Sklad\Sklad.Data\LocalDatabase\Sklad.sqlite"
Telerik.OpenAccess Information: 654 : driver.rs.next
Telerik.OpenAccess Information: 655 : driver.con.connect          56 enlist=false;data source="C:\Users\Otherside\Documents\Visual Studio 2012\Projects\Sklad\Sklad.Data\LocalDatabase\Sklad.sqlite"
Telerik.OpenAccess Information: 656 : driver.rs.next
Telerik.OpenAccess Information: 657 : driver.rs.next
Telerik.OpenAccess Information: 658 : driver.rs.close
BatchID]) WHERE a.[ID] = @p0                                       
driver.con.connect          55 enlist=false;data source="C:\Users\Otherside\Documents\Visual Studio 2012\Projects\Sklad\Sklad.Data\LocalDatabase\Sklad.sqlite"
driver.stat.execQuery       53 SELECT b.[ID] COL1, b.[BatchID] COL2, b.[BatchID] COL3, strftime('%Y-%m-%d %H:%M:%f',b.[Date]) COL4, b.[ID] COL5, b.[UserID] COL6, b.[UserID] COL7 FROM [Batches] a LEFT JOIN [Requests] AS b ON (a.[ID] = b.[BatchID]) WHERE a.[ID] = @p0                                        [@p0=2]
driver.rs.next
driver.con.connect          56 enlist=false;data source="C:\Users\Otherside\Documents\Visual Studio 2012\Projects\Sklad\Sklad.Data\LocalDatabase\Sklad.sqlite"
driver.rs.next
driver.rs.next
driver.rs.close
driver.pspool.release       49 53 SELECT b.[ID] COL1, b.[BatchID] COL2, b.[BatchID] COL3, strftime('%Y-%m-%d %H:%M:%f',b.[Date]) COL4, b.[ID] COL5, b.[UserID] COL6, b.[UserID] COL7 FROM [Batches] a LEFT JOIN [Requests] AS b ON (a.[ID] = b.[BatchID]) WHERTelerik.OpenAccess Information: 659 : driver.pspool.release       49 53 SELECT b.[ID] COL1, b.[BatchID] COL2, b.[BatchID] COL3, strftime('%Y-%m-%d %H:%M:%f',b.[Date]) COL4, b.[ID] COL5, b.[UserID] COL6, b.[UserID] COL7 FROM [Batches] a LEFT JOIN [Requests] AS b ON (a.[ID] = b.[BatchID]) WHERE a.[ID] = ?                                       
Telerik.OpenAccess Information: 660 : driver.con.close            53
Telerik.OpenAccess Information: 661 : sm.fetch                    Sklad.Data.Batch 2 [__functionSklad.Data.Batch] _function 0 state(s)
Telerik.OpenAccess Information: 662 : driver.pool.alloc           1 active=1/10 idle=1/10 con=-843794549
Telerik.OpenAccess Information: 663 : driver.con.createStat       55
Telerik.OpenAccess Information: 664 : driver.pspool.alloc         48 55 SELECT a.[FunctionID] COL1, b.[ID] COL2, b.[Text] COL3 FROM [Batches] a LEFT JOIN [Functions] AS b ON (a.[FunctionID] = b.[ID]) WHERE a.[ID] = ?                                       
Telerik.OpenAccess Information: 665 : driver.con.prepareCall      55 SELECT a.[FunctionID] COL1, b.[ID] COL2, b.[Text] COL3 FROM [Batches] a LEFT JOIN [Functions] AS b ON (a.[FunctionID] = b.[ID]) WHERE a.[ID] = @p0                                       
Telerik.OpenAccess Information: 666 : driver.stat.execQuery       55 SELECT a.[FunctionID] COL1, b.[ID] COL2, b.[Text] COL3 FROM [Batches] a LEFT JOIN [Functions] AS b ON (a.[FunctionID] = b.[ID]) WHERE a.[ID] = @p0                                        [@p0=2]
Telerik.OpenAccess Information: 667 : driver.rs.next
Telerik.OpenAccess Information: 668 : driver.rs.close
E a.[ID] = ?                                       
driver.con.close            53



About to change model property: User sender: Sklad.Data.Request
Telerik.OpenAccess Information: 827 : sm.store                    1 1 OID(s) delete 0 OID(s) 3 returnFieldsUpdatedBySM
Telerik.OpenAccess Information: 828 : driver.pool.alloc           1 active=1/10 idle=1/10 con=-842942582
Telerik.OpenAccess Information: 829 : driver.con.begin            68 ReadCommitted
Telerik.OpenAccess Information: 830 : driver.con.createStat       68
Telerik.OpenAccess Information: 831 : driver.pspool.alloc         48 68 UPDATE [Requests] SET [UserID]=? WHERE [ID] = ? AND [UserID]=?
Telerik.OpenAccess Information: 832 : driver.con.prepareCall      68 UPDATE [Requests] SET [UserID]=@p0 WHERE [ID] = @p1 AND [UserID]=@p2
Telerik.OpenAccess Information: 833 : driver.stat.executeNonQuery 68 UPDATE [Requests] SET [UserID]=@p0 WHERE [ID] = @p1 AND [UserID]=@p2 [@p0=2 @p1=3 @p2=1]
Telerik.OpenAccess Information: 834 : driver.con.commit           68
sm.store                    1 1 OID(s) delete 0 OID(s) 3 returnFieldsUpdatedBySM
driver.pool.alloc           1 active=1/10 idle=1/10 con=-842942582
driver.con.begin            68 ReadCommitted
driver.con.createStat       68
driver.pspool.alloc         48 68 UPDATE [Requests] SET [UserID]=? WHERE [ID] = ? AND [UserID]=?
driver.con.prepareCall      68 UPDATE [Requests] SET [UserID]=@p0 WHERE [ID] = @p1 AND [UserID]=@p2
driver.stat.executeNonQuery 68 UPDATE [Requests] SET [UserID]=@p0 WHERE [ID] = @p1 AND [UserID]=@p2 [@p0=2 @p1=3 @p2=1]
driver.con.commit           68
Telerik.OpenAccess Information: 835 : driver.con.close            68
Telerik.OpenAccess Information: 836 : cache.evict.oids            1
Telerik.OpenAccess Information: 837 : sm.begin                    1 optimistic
Telerik.OpenAccess Information: 838 : sm.fetch                    Sklad.Data.Batch 3 [__requestsSklad.Data.Batch2] _requests 0 state(s)
Telerik.OpenAccess Information: 839 : driver.pool.alloc           1 active=1/10 idle=0/10 con=-843401335
Telerik.OpenAccess Information: 840 : driver.con.createStat       69
Telerik.OpenAccess Information: 841 : driver.pspool.alloc         48 69 SELECT b.[ID] COL1, b.[BatchID] COL2, b.[BatchID] COL3, strftime('%Y-%m-%d %H:%M:%f',b.[Date]) COL4, b.[ID] COL5, b.[UserID] COL6, b.[UserID] COL7 FROM [Batches] a LEFT JOIN [Requests] AS b ON (a.[ID] = b.[BatchID]) WHERE a.[ID] = ?                                       
Telerik.OpenAccess Information: 842 : driver.con.prepareCall      69 SELECT b.[ID] COL1, b.[BatchID] COL2, b.[BatchID] COL3, strftime('%Y-%m-%d %H:%M:%f',b.[Date]) COL4, b.[ID] COL5, b.[UserID] COL6, b.[UserID] COL7 FROM [Batches] a LEFT JOIN [Requests] AS b ON (a.[ID] = b.[BatchID]) WHERE a.[ID] = @p0                                       
driver.con.close            68
cache.evict.oids            1
sm.begin                    1 optimistic
sm.fetch                    Sklad.Data.Batch 3 [__requestsSklad.Data.Batch2] _requests 0 state(s)
driver.pool.alloc           1 active=1/10 idle=0/10 con=-843401335
driver.con.createStat       69
driver.pspool.alloc         48 69 SELECT b.[ID] COL1, b.[BatchID] COL2, b.[BatchID] COL3, strftime('%Y-%m-%d %H:%M:%f',b.[Date]) COL4, b.[ID] COL5, b.[UserID] COL6, b.[UserID] COL7 FROM [Batches] a LEFT JOIN [Requests] AS b ON (a.[ID] = b.[BatchID]) WHERE a.[ID] = ?                                       
driver.con.prepareCall      69 SELECT b.[ID] COL1, b.[BatchID] COL2, b.[BatchID] COL3, strftime('%Y-%m-%d %H:%M:%f',b.[Date]) COL4, b.[ID] COL5, b.[UserID] COL6, b.[UserID] COL7 FROM [Batches] a LEFT JOIN [Requests] AS b ON (a.[ID] = b.[BatchID]) WHERE a.[ID] = @p0                                       
driver.stat.execQuery       69 SELECT b.[ID] COL1, b.[BatchID] COL2, b.[BatchID] COL3, strftime('%Y-%m-Telerik.OpenAccess Information: 843 : driver.stat.execQuery       69 SELECT b.[ID] COL1, b.[BatchID] COL2, b.[BatchID] COL3, strftime('%Y-%m-%d %H:%M:%f',b.[Date]) COL4, b.[ID] COL5, b.[UserID] COL6, b.[UserID] COL7 FROM [Batches] a LEFT JOIN [Requests] AS b ON (a.[ID] = b.[BatchID]) WHERE a.[ID] = @p0                                        [@p0=3]
Telerik.OpenAccess Information: 844 : driver.rs.next
Telerik.OpenAccess Information: 845 : driver.rs.next
Telerik.OpenAccess Information: 846 : driver.rs.close
Telerik.OpenAccess Information: 847 : driver.pspool.release       48 69 SELECT b.[ID] COL1, b.[BatchID] COL2, b.[BatchID] COL3, strftime('%Y-%m-%d %H:%M:%f',b.[Date]) COL4, b.[ID] COL5, b.[UserID] COL6, b.[UserID] COL7 FROM [Batches] a LEFT JOIN [Requests] AS b ON (a.[ID] = b.[BatchID]) WHERE a.[ID] = ?                                       
Telerik.OpenAccess Information: 848 : driver.con.close            69




About to change model property: Date sender: Sklad.Data.Request

Telerik.OpenAccess Information: 887 : sm.store                    1 1 OID(s) delete 0 OID(s) 3 returnFieldsUpdatedBySM
Telerik.OpenAccess Information: 888 : driver.pool.alloc           1 active=1/10 idle=1/10 con=-843597943
Telerik.OpenAccess Information: 889 : driver.con.begin            72 ReadCommitted
sm.store                    1 1 OID(s) delete 0 OID(s) 3 returnFieldsUpdatedBySM
driver.pool.alloc           1 active=1/10 idle=1/10 con=-843597943
driver.con.begin            72 ReadCommitted
driver.con.createStat       72
Telerik.OpenAccess Information: 890 : driver.con.createStat       72
Telerik.OpenAccess Information: 891 : driver.pspool.alloc         49 72 UPDATE [Requests] SET [Date]=? WHERE [ID] = ? AND [Date]=?
Telerik.OpenAccess Information: 892 : driver.con.prepareCall      72 UPDATE [Requests] SET [Date]=@p0 WHERE [ID] = @p1 AND [Date]=@p2
Telerik.OpenAccess Information: 893 : driver.stat.executeNonQuery 72 UPDATE [Requests] SET [Date]=@p0 WHERE [ID] = @p1 AND [Date]=@p2 [@p0="2013-08-30" @p1=3 @p2="2013-08-29"]
Telerik.OpenAccess Error: 887 : Row not found: GenericOID@a8ee84cc Request ID=3
UPDATE [Requests] SET [Date]=? WHERE [ID] = ? AND [Date]=?
Params: [@p0="2013-08-30" @p1=3 @p2="2013-08-29"]
Telerik.OpenAccess Information: 894 : sm.rollback                 1
Telerik.OpenAccess Information: 895 : driver.con.rollback         72
Telerik.OpenAccess Information: 896 : driver.con.close            72


Requests(after):
UserID  ID    Date        BatchID
2           2    7/31/2013    2
2           3    8/29/2013    3

1 Answer, 1 is accepted

Sort by
0
Galin
Top achievements
Rank 1
answered on 06 Sep 2013, 11:58 AM
I'm sorry to the people(if any) who actually went through the log..The problem has went away (as I secretly suspected it would) when I introduced the actual 'add' buttons to my view.. What I did before is add the values to the db by hand(allowing for the autogen to generate the indexes) and it must have somewhat confused the ORM, even though before each session(incl. the one in the example) I would recreate the db using the auto-generated script.
Anyway it was a strange behavior and I'm happy it's now gone away :)
Tags
Data Access Free Edition
Asked by
Galin
Top achievements
Rank 1
Answers by
Galin
Top achievements
Rank 1
Share this question
or