P>P>_RecordsetPtr recordSet=NULL; //recordset object
P>_ConnectionPtr connection=NULL;
P>connection.CreateInstance(__uuidof(Connection) );
P>recordSet.CreateInstance(__uuidof(Recordset));
connection->>CursorLocation = adUseServer;
connection->>Open(
P> "DRIVER {SQL SERVER};SERVER=SRV1;UID=user1;PWD=pwd1;BASE=base1",
P> L"", L"", adConnectUnspecified );
recordSet=connection->>Execute(
P> "INSERT table1 (fld1) VALUES ('val1') select @@IDENTITY",
P> NULL,adCmdText);
P>
P>Этот же запрос в Query Analyzer проходит на ура.
Поробуй нечто подобное:
// isert new row to Lists table
ADO::_RecordsetPtr rsetPtr;
TESTHR( rsetPtr.CreateInstance(__uuidof(ADO::Recordset)) );
TESTHR( rsetPtr->Open(L"Lists",
_variant_t((IDispatch *)m_adoConnPtr,true),
ADO::adOpenStatic,
ADO::adLockOptimistic,
ADO::adCmdTable) ); // open recordset for table
TESTHR( rsetPtr->AddNew() ); // add new row
rsetPtr->Fields->Item[L"list_type_id"]->Value = listType;// set value for 'list_type_id' field
TESTHR( rsetPtr->Update() ); // update dtabase
_variant_t variant = rsetPtr->Fields->Item[L"list_guid"]->Value; // get GUID of new List