Article View: borland.public.cppbuilder.database.ado
Article #3641Re: Please Help! I always get "record not found or changed by another user"
From: Joachim
Date: Tue, 23 Jul 2002 07:59
Date: Tue, 23 Jul 2002 07:59
40 lines
3098 bytes
3098 bytes
Hi, after trying and despairing a lot of hours I found out the problem. The problem was not the precision of numbers or something else. The problem was that several fields of the Access Database had set up a standard value and after an insert the field becomes the standard value if the field is empty. If you didn�t refresh the table and try to update such row the provider tries to find the row with the fields you gave a pfinwhere. And now the provider didn�t find the row because some fields had become values. I never had thought of something like this because I always set up my own Databases and never used standard values. But this time I got a Database to work with. Argghh this is very annoying But now it works thanks! > >I didn�t find out why I get this error but I found out that it must be > >something with the structure of the table. When I delete some fields out of > >the table it sometimes works. It is a little bit difficult to find out what > >fields because that table contains about 40 fields. I tried around but it is > >impossible. > > This type of error commonly occurs if you have and double precision > numbers, or floating point numbers, or any data type which is stored as > one of those two. One way to resolve this error is usually to change the > UpdateMode of the object from upWhereAll to either upWhereKey or > upWhereChanged. This way the floating point value will only be compared > when it is a key field or when it is a field that is changed. If this is > the cause of the error, the only other solution I am aware of is to use a > database/driver which implements IEEE Floating point rounding the same in > the DB and in the driver. For some reason the MS ODBC drivers for SQL > Server and MS Access do not seem to fit this category though... > > Jerry Bloomfield (TeamB) > -- > http://www.teamb.com JersWork@iwc.net > Please do *NOT* send private e-mail without prior permission (my anti-spam > filters will probably just delete it anyway <g>)
Technical Details
Message-ID:
<3d3d0bc3_1@dnews>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-01!sn-xit-04!supernews.com!64.152.100.70.MISMATCH!ps01-sjc1!news.webusenet.com!cyclone.bc.net!newsfeed.media.kyoto-u.ac.jp!newsfeed01.tsnz.net!newsfeeds.ihug.co.nz!ihug.co.nz!dnewsReferences:
<3d32c856$1_1@dnews> <3d352c3a_2@dnews> <k4npjusbjq27210lulpqcn3acmc31j088n@4ax.com>Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII X-Google-Thread: 10698b,ac713613d2d71ccc X-Google-Attributes: gid10698b,public X-Google-ArrivalTime: 2002-07-23 01:10:11 PST From: "Joachim" <mfgjojo@gmx.de> Newsgroups: borland.public.cppbuilder.database.ado References: <3d32c856$1_1@dnews> <3d352c3a_2@dnews> <k4npjusbjq27210lulpqcn3acmc31j088n@4ax.com> Subject: Re: Please Help! I always get "record not found or changed by another user" Date: Tue, 23 Jul 2002 09:59:44 +0200 Lines: 42 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.00.2919.6700 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6700 NNTP-Posting-Host: 217.84.95.185 Message-ID: <3d3d0bc3_1@dnews> X-Trace: dnews 1027410883 217.84.95.185 (23 Jul 2002 00:54:43 -0700) Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-01!sn-xit-04!supernews.com!64.152.100.70.MISMATCH!ps01-sjc1!news.webusenet.com!cyclone.bc.net!newsfeed.media.kyoto-u.ac.jp!newsfeed01.tsnz.net!newsfeeds.ihug.co.nz!ihug.co.nz!dnews