getting a p key back
-
Hallo ,
ich will den Schlüssel nach dem Insert Statment ermitteln.
Code:CDatabase m_db; m_db.OpenEx("DSN=mdsn;UID=ich;PWD=ich;"); m_db.SetQueryTimeout(0); CRecordset rs (&m_db); CString clQuery =""; int i=0; CString objkeyint=""; CString strValue=""; clQuery = _T("insert into table(colmen) VALUES( 'abc')"); try { m_db.ExecuteSQL(clQuery); } catch(CDBException* e) { AfxMessageBox("Fehler"); }
wie kriege ich den Schlüssel, was automatisch vergeben wird, zurück zur meiner Applikation?
Vielen Dank
-
hier mache ich insert into in Spalte2 .
Der Primiärschlüßel wird automatisch in Spalte 1 erzeugt.
ich möchte durch die insert-aktion den Schlüßel auch zuruch ermitteln.
-
Hängt von Deinem SQL Server ab.
Bei MS-SQL verwende ich
@@identity
http://msdn.microsoft.com/en-us/library/aa933167(v=SQL.80).aspx
oder IDENT_CURRENT
http://msdn.microsoft.com/en-us/library/aa933217(v=SQL.80).aspx
-
danke.
ich gebe den Wert mit meinem Tool durch eine Funktion.
Ich möchte dass diese Funktion den Schlüßel zurück bekommt.
-
Mit select @@identity in MSSQL hat es geklappt.
Ich benutze leider Oracle.
Wie füge ich den Satz select scope_identity dazu.
clQuery = _T("insert into table(Spalte 2) VALUES( 'abc') ");