Hello,

I get an error why trying to delete with a query using <query name="q"
from="t1 left join t2 on t1.a_number=t2.a_number and
t1.a_index=t2.a_index ">

I can solve this by adding the following to org.dbforms.config.Query :

 public String getDeleteWhat() {
        return deleteWhat;
    }

    public void setDeleteWhat(String deleteWhat) {
        this.deleteWhat = deleteWhat;
    }

    public String getDeleteStatement() {
         // now we start building the DELETE statement
         StringBuffer queryBuf = new StringBuffer();
         queryBuf.append("DELETE");
         if(getDeleteWhat()!=null)queryBuf.append(" "+getDeleteWhat());
         queryBuf.append(" FROM ");
         queryBuf.append(getQueryToChange());
         queryBuf.append(" WHERE ");
         queryBuf.append(getWhereClauseForKeyFields());
         logCat.info(queryBuf.toString());

         return queryBuf.toString();
      }


   private String           deleteWhat;

and adding deleteWhat="t1.*" to my dbforms-config.xml

The problem is that the delete sql generated now is not specific enough:
DELETE FROM t1 left join t2 on t1.a_number=t2.a_number and
t1.a_index=t2.a_index  WHERE t1.course_id = ? AND t1.a_index = ? AND
t1.a_number = ?

I need:

DELETE t1.* FROM t1 left join t2 on t1.a_number=t2.a_number and
t1.a_index=t2.a_index  WHERE t1.course_id = ? AND t1.a_index = ? AND
t1.a_number = ?

Overriding the getDeleteStatement in org.dbforms.config.Table doesn't
seem the best way since Query would also need to be updated if it gets
changed, but I don't see how to get "deleteWhat" into Table.  Any
suggestions or can I commit it as is?



-- 
Shawn <[EMAIL PROTECTED]>



-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. 
http://productguide.itmanagersjournal.com/
_______________________________________________
DbForms Mailing List

http://www.wap-force.net/dbforms

Reply via email to