Not getting Identity key value
Posted: Thu 21 Dec 2006 16:38
Hi,
1. I have an query with simple select statement in MSQUERY component
'SELECT * FROM EMP WHERE EMPID = 0'
EMP TABLE having 2 columns empid, empname where empid is identity key.
2. Added empid, empname as persistenece fields and empid is set to 'arAutoInc'.
3. For MSQUERY component Retrun params is set to TRUE.
4. MSQUERY.SQLINSERT having only one statement SET :empid=SCOPE_IDENTITY()
NOTE:
a. I don't have any insert statement in SQLINSERT.
b. I have not written OnUpdateExecute event. Because i don't have any parameters to the query.
c. CachedUpdate is Set to TRUE for MSQUERY
On button click, i'm executing below code
with MSQUERY do
begin
Close;
try
Active:= true;
Insert;
FieldByName('empname').AsSting := 'TestEmp';
post;
emp_id_key := FieldByName('empid').AsInteger;
except
raise Exception.create('Unable to return generated serial key during insert.');
end;
end
PROBLEM: I'm not getting identitykey value in this scenario. To get identity key what changes i have to do here? In normal cases identity key is working fine. This is very special case in my project...
Can we get identity key if we doesn't have insert query in SQLINSERT?
Wating for your suggestion....
1. I have an query with simple select statement in MSQUERY component
'SELECT * FROM EMP WHERE EMPID = 0'
EMP TABLE having 2 columns empid, empname where empid is identity key.
2. Added empid, empname as persistenece fields and empid is set to 'arAutoInc'.
3. For MSQUERY component Retrun params is set to TRUE.
4. MSQUERY.SQLINSERT having only one statement SET :empid=SCOPE_IDENTITY()
NOTE:
a. I don't have any insert statement in SQLINSERT.
b. I have not written OnUpdateExecute event. Because i don't have any parameters to the query.
c. CachedUpdate is Set to TRUE for MSQUERY
On button click, i'm executing below code
with MSQUERY do
begin
Close;
try
Active:= true;
Insert;
FieldByName('empname').AsSting := 'TestEmp';
post;
emp_id_key := FieldByName('empid').AsInteger;
except
raise Exception.create('Unable to return generated serial key during insert.');
end;
end
PROBLEM: I'm not getting identitykey value in this scenario. To get identity key what changes i have to do here? In normal cases identity key is working fine. This is very special case in my project...
Can we get identity key if we doesn't have insert query in SQLINSERT?
Wating for your suggestion....