Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 193
  • Last Modified:

Copying a record

I am running the following query to make a copy of the record. All seems to work and the record is copied in the database. I get the following error when I open the copy of the record,
'Cannot insert explicit value for identity column in table 'Products' when IDENTITY_INSERT is set to OFF. "

If I set it to ON it states the values must be explicit.

---------Query------------------------------------------------------------------
<cfquery dataSource="#request.dataSource#" userName="#request.userName#" password="#request.password#">
      INSERT INTO Prods(stock,reorder,SKU,ENum,CatID,ProductName,Description,Weight,Quantity,PurchasePrice,RetailPrice,WarehouseID,Active,Taxable,Shippable,StoreID,Book,Candy,Food,Media)
      VALUES ('','','#SKU#','00000','#CatID#','Copy of #ProductName#','#Description#','#Weight#','#Quantity#',#PurchasePrice#,#RetailPrice#,'#WarehouseID#','0','0','#Shippable#','#StoreID#','0','0','0','0')
</cfquery>
--------------------------------------------------------------------------------------------------------------
0
usky1
Asked:
usky1
  • 6
  • 5
  • 2
  • +1
2 Solutions
 
_agx_Commented:
What do you mean "open" the copy of the record?
0
 
usky1Author Commented:
I have a form where I list all the records by row. If I select the record that was just created to view it I get the error.
0
 
erikTsomikSystem Architect, CF programmer Commented:
Make sure you have identity column enabled and increment +1
0
Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

 
_agx_Commented:
The error 'Cannot insert explicit value for identity column in table 'Products' ' suggests the code is doing more than a SELECT.  

Can you post that code?
0
 
usky1Author Commented:
The identity column is one of the things that is confusing me. The values look fine in the database and the identity column did increment by +1.
The code on the form page is 1100 line long please it makes calls to several other pages. Is there something specific I can pull from it to help?
0
 
_agx_Commented:
Maybe the complete CF error message you're talking about. Possibly the query that causes it assuming its not the one you posted originally.

0
 
usky1Author Commented:
I have something I want to try and I'll let you know if it works.
0
 
_agx_Commented:
Okay
0
 
digicidalCommented:
agx is correct... if you are getting that error you are most definitely NOT simply running a SELECT query.  Is it possible that you do both the INSERT and the SELECT in the same CFQUERY?  Or are you using a StoredProc to do the SELECT?  If so then check that because it's definitely trying to do an insert into the table or the error would not occur.  Also make sure in your INSERT statement that you have not inadvertently set more than one field as the Identity.  I see several relational ID fields that I assume point to records in other tables... check to make sure that A) you have not accidentally set one of them to an Identity as well as the PKID for the record, and B) that you have not defined any cascading rules in the relationships assigned to the table.  It's possible if you have that it is requiring that the relationship is also updated with the inserted information because of a stated dependency.

This seems like it is more likely a SQL configuration issue rather than a CFML issue unless you are doing the INSERT and SELECT in the same thread on the CF server.
0
 
digicidalCommented:
OOPS... I just reread my post... this:

Also make sure in your INSERT statement that you have not inadvertently set more than one field as the Identity.

SHOULD READ:
Also make sure in your TABLE PROPERITES page that you have not inadvertently set more than one field as the Identity.

Sorry for the confusion.
0
 
usky1Author Commented:
This is the error when when IDENTITY_INSERT is set to ON,
"Explicit value must be specified for identity column in table 'Prods' when IDENTITY_INSERT is set to ON."
The ProdID is the key field. If I look in the database the entry is created and properly incremented. This is going way above my knowledge as I am still a newbie with ColdFusion and SQL. Please let me know of any other suggestions.
0
 
_agx_Commented:
Did you try digicidal's suggestions above?  Also

> Cannot insert explicit value for identity column in table 'Products' when IDENTITY_INSERT is set to OFF

One thing I noticed is the error message refers to a table named "Products" but the query you posted inserts into a table named "Prods".  Is it possible you posted the wrong query?

Its difficult to diagnose further without more information.  Could you post the full error message (line numbers and all) and the full cfquery or stored procedure referenced in the error message?

0
 
usky1Author Commented:
I apologize for some of my confusion. I am doing updates to a large site that has no documentation. I found a subquery that was linked back and needed to have the new prodid also inserted. As soon as I took care of that all worked. I appreciate your time in helping me.
0
 
usky1Author Commented:
agx and digicidal helped me troubleshoot the problem and point me in the right direction to find a solution.
0

Featured Post

Receive 1:1 tech help

Solve your biggest tech problems alongside global tech experts with 1:1 help.

  • 6
  • 5
  • 2
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now