Re: Returning updated rows from SQLTemplate

From: Andrus Adamchik (andru..bjectstyle.org)
Date: Thu Sep 11 2008 - 12:01:52 EDT

  • Next message: Laurent Marchal: "3.0M4 : Fetching from relationship returns TRANSIENT objects."

    Hi,

    You need to use a different DataContext method

    > List<DataRow> dtList = context.performQuery(query);

    Should be

    int[] updateCounts = context.performNonSelectingQuery(query);

    now if you are referencing ObjectContext throughout the code (hiding
    DataContext implementation), there is an even more generic method:

    QueryResponse result = context.performGenericQuery(query);
    int[] updateCounts = result.firstUpdateCount();

    The two examples above are doing the same exact thing.

    Andrus

    On Sep 11, 2008, at 6:53 PM, Laurent Marchal wrote:

    > Hello !
    >
    > I use Cayenne 3.0M4 and since UpdateQuery is deprecated i use a
    > SQLTemplate query to do an UPDATE.
    > The thing is i would like to know how many rows are updated, and the
    > query returns no DataRows.
    >
    > SQLTemplate query = new SQLTemplate(..., "UPDATE...");
    > query.setFetchingDataRows(true);
    >
    > List<DataRow> dtList = context.performQuery(query);
    >
    > the returned list is always empty....
    > How can i get the precious Integer saying "X rows updated" ?
    >
    > Thanks.
    > Laurent Marchal.
    >
    >
    >



    This archive was generated by hypermail 2.0.0 : Thu Sep 11 2008 - 12:02:24 EDT