struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tommy Pham <tommy...@yahoo.com>
Subject Re: code inserting data into database twice
Date Thu, 03 Sep 2009 11:14:19 GMT

----- Original Message ----
> From: Struts234 <struts234@gmail.com>
> To: user@struts.apache.org
> Sent: Monday, August 31, 2009 3:32:36 PM
> Subject: code inserting data into database twice
> 
> 
> Hi folks,
> 
> 
>     I wrote the following code to insert values into database. But it's
> crazy, this is inserting the values twice. here are the code below.
> 
>     if(activity.equalsIgnoreCase("
>     declineParticipation")){
>                   
>                     if(isTokenValid(request)){
> 
>                         // Validate the supervisor Info..
>                         TeleworkDelegate delegate = new TeleworkDelegate();
>                         String[] supervisorInfo =
> delegate.validateSupervisorEmail(theForm.getSupervisorEmail().toLowerCase());
>                         String supervisorCustomerId = supervisorInfo[2];
>                         String role = supervisorInfo[3];
>                          // Update the supervisor info into database..
>                         user.setSupervisorName(supervisorInfo[1]+ " " +
> supervisorInfo[0]);
>                       
> user.setSupervisorEmail(theForm.getSupervisorEmail());
>                       
> delegate.updateSupervisorInfo(user,supervisorCustomerId );
>                   
>                         // Generate unique agreement number..
>                         int teleworkAgreementId =
> delegate.generateTeleworkAgreementNumber();
>                         // call the create agreement method to insert data
> into DB..
>                       
> createDeclineParticipation(user,teleworkAgreementId);
>                         // update the decline participation info into DB
>                         delegate.declineParticipation(user);                    
>           
> // 4
>                         return mapping.findForward("logon");
>                     }
>                     else
>                     {
>                         request.setAttribute("errorKey", new
> String("error.telework.teleworkagreement.duplicatesubmission"));
>                         return mapping.findForward("logon");
>                     }
>                 }
>       
> 
>     private void createDeclineParticipation(UserInfoVO user, int
> teleworkAgreementId ) throws DatabaseException, TeleworkException {
>             // TODO Auto-generated method stub
>             TeleworkDelegate teleworkDelegate = new TeleworkDelegate();
>             TeleworkScheduleVO scheduleVO = new TeleworkScheduleVO();
>             TeleworkAgreementVO agreementVO = new TeleworkAgreementVO();
>             scheduleVO.setTeleworkAgreementID(teleworkAgreementId);
>             agreementVO.setTeleworkAgreementId(teleworkAgreementId);
>             agreementVO.setDateCompletedTraining("07/21/2009");
>             agreementVO.setAgreementStatus(Constants.AGREEMENT_DECLINED);
>             teleworkDelegate.createDeclineTeleworkAgreement(user,
> scheduleVO, agreementVO);
>         }
> 
> 
>     this code is generating 2 unique number and inserting values twice into
> database. Means, when i hit a submit button, it has to get the max number
> from the database and add 1 to it and insert the record. instead of it, it
> is inserting twice. Ex when i hit the submit botton, it has to get the
> number is 4, but it's inserting 4 and 5 into the database.
> 
>     don't know why it's doing like, I would appreciate if you could help me
> on this.
> 
>     Thanks,
> 
> -- 
> View this message in context: 
> http://www.nabble.com/code-inserting-data-into-database-twice-tp25231274p25231274.html
> Sent from the Struts - User mailing list archive at Nabble.com.
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org

Why not just insert the data into a table and get the generated key from identity (primary
key) column?  If you're using surrogate key, better to implement stored procedure?  If the
data insertion spans multiple tables, transactions + generated key return ??

Any case, you might want to take a closer look at your teleworkDelegate.createDeclineTeleworkAgreement()...
this might your problem ;)

Regards,
Tommy


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Mime
View raw message