Не проходит параметрический запрос ни в ADO ни в DAO - VB
Формулировка задачи:
Для ускорения обработки большой базы начал пробовать работу через параметрический запрос в DAO и в ADO, но при открытии Recordset выдает Type mismatch (Error 13) ошибку.
Давно сижу не могу врубиться.База создана на ACcess-97
Решение задачи: «Не проходит параметрический запрос ни в ADO ни в DAO»
textual
Листинг программы
#import 'C:Program FilesCommon FilesSystemadomsado15.dll' rename( 'EOF', 'adoEOF' ) ... _variant_t vtEmpty (DISP_E_PARAMNOTFOUND, VT_ERROR); _variant_t vtEmpty2(DISP_E_PARAMNOTFOUND, VT_ERROR); ... ADODB::_ConnectionPtr Conn1; ADODB::_CommandPtr Cmd1; ADODB::_ParameterPtr Param1; ADODB::_RecordsetPtr Rs1; // Trap any error/exception. try { // Create and Open Connection Object. Conn1.CreateInstance( __uuidof( ADODB::Connection ) ); Conn1->ConnectionString = _bstr_t(L'DSN=Biblio;UID=adimin;PWD=;'); Conn1->Open( _bstr_t(L''), _bstr_t(L''), _bstr_t(L''), -1 ); // Create Command Object. Cmd1.CreateInstance( __uuidof( ADODB::Command ) ); Cmd1->ActiveConnection = Conn1; Cmd1->CommandText = _bstr_t(L'SELECT * FROM Authors ' L'WHERE Au_ID < ?'); // Create Parameter Object. Param1 = Cmd1->CreateParameter( _bstr_t(L''), ADODB::adInteger, ADODB::adParamInput, -1, _variant_t( (long) 5) ); Param1->Value = _variant_t( (long) 5 ); Cmd1->Parameters->Append( Param1 ); // Open Recordset Object. Rs1 = Cmd1->Execute( &vtEmpty, &vtEmpty2, ADODB::adCmdText ); } catch( CException *e ) { e->Delete(); } catch(...) { }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д