Здравствуйте sergey, Вы писали:
S>Здравствуйте, уважаемые !
S>Если кто понимает, что за беда, расскажите неразумным !
S>Есть примерно такой текст:
S> _ConnectionPtr conn
S> CString open_str;
S> open_str.Format("Provider=SQLOLEDB;"
S> "Server=%s;"
S> "Database=%s;"
S> "uid=%s; pwd=%s;",
S> dbserver,
S> dbname,
S> dbuser,
S> dbpass);
S> if (FAILED(conn->Open(_bstr_t(open_str),
S> _bstr_t(dbuser),
S> _bstr_t(dbpass), 0)))
S> return BSTR_FALSE;
Второй и третий параметры можно не указывать (т.е. NULL), последний должен быть -1
S> CString sql_cmd = "sp_my_procedure";
S>1) _RecordsetPtr rs = conn->Execute(_bstr_t(sql_cmd), NULL, adOptionUnspecified);
S> FieldsPtr flds = rs->Fields;
S>
S> if (!rs->ADOEOF)
S>2) rs->MoveFirst();
Вызов хранимой процедуры осуществляется по другому, с помощью объекта Command:
сom->CommandType = adCmdStoredProc;
com->CommandText = L"sp_my_proc";
com->ActiveConnection = conn;
com->Execute();
Здравствуйте Алекс,
Спасибо большое, но я пока еще в сомнении
Вы писали:
А>Вызов хранимой процедуры осуществляется по другому, с помощью объекта Command:
А>сom->>CommandType = adCmdStoredProc;
com->>CommandText = L"sp_my_proc";
com->>ActiveConnection = conn;
com->>Execute();
А>
В доке в описании параметров метода Execute честно сказано, что
CommandText — A String value that contains the SQL statement, table name, stored procedure, a URL, or provider-specific text to execute