I read/searched around, and it seems that when you do the insert in the save
method of the BasePeer, you should get an object back with the primary key.
However, I get a null, which I think is because my idMethod is none.
Therefore after the insert, Torque has no idea what the primary key was,
because it is an identity column.  

I ended up doing a custom executeQuery: Select max(product_id) from
products.  However this does raise the issue that if two people do two
inserts at the same time, they might both get the same product id back!  

I will try the setNew.  What does that actually do (other then tell torque
that its needs to do an insert)?  Also, I think doing the copy causes the
setNew(true) to happen.

Eric

-----Original Message-----
From: Scott Eade [mailto:[EMAIL PROTECTED]]
Sent: Thursday, December 06, 2001 5:53 PM
To: Turbine Users List
Subject: Re: Copying and then saving a row into DB, how do I get the
primary key


----- Original Message -----
From: "Pugh, Eric" <[EMAIL PROTECTED]>
> Hi all,
>
> I looked through the archives to find the answer, b/c I swear I saw the
> answer, but no luck...
>
> I am using MSSQL as my database, and all my tables are set with
> idMethod=none, using Turbine 2.1.
>
> I want to copy a product object with product id 2.   So I do:
> productB = productA.copy();

Try adding this:

    productB.setNew(true);

> productB.save();
>
> This saves my new row in the database, but my productB's primary key is
> null.  I used profiler and see the we are doing an insert, but there
doesn't
> be anything like return @@Identity or anything to pass back what my new
> primary key is.
>
> Is the only way of figuring what productB's primary key is to do a select
> max(product_id) on my products table?
>
> Eric

HTH.

Scott



--
To unsubscribe, e-mail:
<mailto:[EMAIL PROTECTED]>
For additional commands, e-mail:
<mailto:[EMAIL PROTECTED]>

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to