Le 2011-04-06 à 23:48, Chuck Hill a écrit :

> That is going to leave you with a race condition.  The only certain way to 
> prevent the creation of duplicates is to put an unique constraint on the 
> database.  Then you have to catch the database exception 
> (EOGeneralAdaptorException) in your code and handle appropriately.  The ugly 
> part is that the exception message returned is different for each database 
> which makes doing this in a database agnostic way slightly challenging.

Example for H2:

   try {
     editingContext().saveChanges();
   } catch (EOGeneralAdaptorException ex) {
     EOAdaptorOperation operation = 
(EOAdaptorOperation)((NSMutableArray)ex.userInfo().valueForKey("EOAdaptorOperationsKey")).objectAtIndex(0);
     if (operation.exception().getMessage().contains("Unique index or primary 
key violation")) {
       throw new SomeException();
     }

> Chuck
> 
> On Apr 6, 2011, at 8:21 PM, Paul D Yu wrote:
> 
>> Based on the column/attribute in your DB/EOModel that would make your 
>> consider the record/EO to be duplicate of another, you should implement a 
>> method that would check for those values in the existing set.
>> 
>> I don't think there is a one line solution to what you are seeking.
>> 
>> Paul
>> On Apr 6, 2011, at 10:52 PM, Mr Tonnew wrote:
>> 
>>> Hi,
>>> 
>>> How do I avoid committing duplicate entries in the DB? I have a form
>>> from where I take entries. Is there a single line of code that can
>>> accomplish this?
>>> 
>>> MR
>>> _______________________________________________
>>> Do not post admin requests to the list. They will be ignored.
>>> Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
>>> Help/Unsubscribe/Update your Subscription:
>>> http://lists.apple.com/mailman/options/webobjects-dev/pyu%40mac.com
>>> 
>>> This email sent to p...@mac.com
>> 
>> _______________________________________________
>> Do not post admin requests to the list. They will be ignored.
>> Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
>> Help/Unsubscribe/Update your Subscription:
>> http://lists.apple.com/mailman/options/webobjects-dev/chill%40global-village.net
>> 
>> This email sent to ch...@global-village.net
> 
> -- 
> Chuck Hill             Senior Consultant / VP Development
> 
> Practical WebObjects - for developers who want to increase their overall 
> knowledge of WebObjects or who are trying to solve specific problems.    
> http://www.global-village.net/products/practical_webobjects
> 
> 
> 
> 
> 
> 
> 
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/webobjects-dev/probert%40macti.ca
> 
> This email sent to prob...@macti.ca

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to