vc++6 ADO _RecordsetPtr & ->State
От:
dad
Дата: 15.08.02 09:36
Оценка:
Когда атрибут State становится доступным в адошном рекордсете?
Я думал сразу после инициализации интерфейса..
_RecordsetPtr m_actualSet = NULL;
.....
m_actualSet.CreateInstance(__uuidof(Recordset));
......
if (m_actualSet->State == adStateClosed)
{
разве так нельзя?
msdn гласит:
After the CreateInstance method is called, the variable can be used as follows:
rs->Open(...);
это значит что только Open можно вызывать? или мне искать бах у себя?
Веру-ю-у! В авиацию, в научную революци-ю-у, в механизацию сельского хозяйства, в космос и невесомость! Веру-ю-у! Ибо это объективно-о! (Шукшин)
Re: vc++6 ADO _RecordsetPtr & ->State
Здравствуйте dad, Вы писали:
dad>Когда атрибут State становится доступным в адошном рекордсете?
dad>Я думал сразу после инициализации интерфейса..
dad>dad>_RecordsetPtr m_actualSet = NULL;
dad>.....
dad>m_actualSet.CreateInstance(__uuidof(Recordset));
dad>......
dad>if (m_actualSet->State == adStateClosed)
dad>{
dad>
dad>разве так нельзя?
dad>msdn гласит:
По докам можно.
dad>dad>After the CreateInstance method is called, the variable can be used as follows:
rs->>Open(...);
dad>
dad>это значит что только Open можно вызывать? или мне искать бах у себя?
Нет. Ищи баг у себя.
Re[2]: vc++6 ADO _RecordsetPtr & ->State
От:
dad
Дата: 16.08.02 05:50
Оценка:
L>Нет. Ищи баг у себя.
бах в том, что объект не инициалзируется
вот в этом коде:
//rclsid = {CLSID_ADODB.Connection}
HRESULT CreateInstance(const CLSID& rclsid, IUnknown* pOuter = NULL, DWORD dwClsContext = CLSCTX_ALL) throw()
{...
hr = CoCreateInstance(rclsid, pOuter, dwClsContext, __uuidof(IUnknown), reinterpret_cast<void**>(&pIUnknown));
...}
//который реализует _ConnectionPtr->CreateInstance(__uuidof(Connection));
hr возвращает ошибку..
Что делать?
Веру-ю-у! В авиацию, в научную революци-ю-у, в механизацию сельского хозяйства, в космос и невесомость! Веру-ю-у! Ибо это объективно-о! (Шукшин)
Re[3]: vc++6 ADO _RecordsetPtr & ->State
От:
Kuz
Дата: 16.08.02 08:02
Оценка:
не парится и написать
_Connection Connection;
Connection.CreateDispatch("ADODB.Connection");
Re[4]: vc++6 ADO _RecordsetPtr & ->State
От:
dad
Дата: 16.08.02 08:20
Оценка:
Kuz>_Connection Connection;
Kuz>Connection.CreateDispatch("ADODB.Connection");
так вообще не компилируеца :(
error C2259: '_Connection' : cannot instantiate abstract class due to following members:
Короче это уже реальная проблема ...
Веру-ю-у! В авиацию, в научную революци-ю-у, в механизацию сельского хозяйства, в космос и невесомость! Веру-ю-у! Ибо это объективно-о! (Шукшин)
Re[4]: error descriptions
От:
dad
Дата: 16.08.02 08:29
Оценка:
ошибки:
когда вот так:
m_connection.CreateInstance("ADODB.Connection");
m_connection->Open((BSTR)m_conString,(BSTR)m_user.name,(BSTR)m_user.pwd,_CONNECT_TYPE_);
Error : 80004003
ErrorMessage: Неправильный указатель
Description : (null)
Source : (null)
а когда вот так:
TESTHR(m_connection.CreateInstance(__uuidof(Connection)));
m_connection->Open((BSTR)m_conString,(BSTR)m_user.name,(BSTR)m_user.pwd,_CONNECT_TYPE_);
_com_error:
Error : 800401F0
ErrorMessage: Не был произведен вызов CoInitialize.
Description : (null)
Source : (null)
код для вывода ошибок в консоль позаимствован с этого сайта...
Веру-ю-у! В авиацию, в научную революци-ю-у, в механизацию сельского хозяйства, в космос и невесомость! Веру-ю-у! Ибо это объективно-о! (Шукшин)
Re[5]: vc++6 ADO _RecordsetPtr & ->State
От:
Kuz
Дата: 16.08.02 08:41
Оценка:
msado...h есть?
Re[6]: vc++6 ADO _RecordsetPtr & ->State
От:
dad
Дата: 16.08.02 08:49
Оценка:
Kuz>msado...h есть?
нее.. использую
#import "C:\Program Files\Common Files\System\ADO\msado20.tlb" no_namespace rename("EOF", "EndOfFile")
да и следает
TESTHR(m_connection.CreateInstance(__uuidof(Connection)));
которое к ADO как к таковому не имеет отношения..
Веру-ю-у! В авиацию, в научную революци-ю-у, в механизацию сельского хозяйства, в космос и невесомость! Веру-ю-у! Ибо это объективно-о! (Шукшин)
Re[7]: vc++6 ADO _RecordsetPtr & ->State
От:
Kuz
Дата: 16.08.02 08:57
Оценка:
_ConnectionPtr pConnection("ADODB.Connection");
pConnection->Open(...);
?
Re[5]: error descriptions
Здравствуйте dad, Вы писали:
[]
dad>_com_error:
dad>Error : 800401F0
dad>ErrorMessage: Не был произведен вызов CoInitialize.
dad>Description : (null)
dad>Source : (null)
Ну дак и сделай CoInitializeEx(NULL,COINIT_MULTITHREADED);
Эта функция инициализации СОМ (если быть точным, то инициализации потоковой модели) без которой невозможно создание СОМ-серверов (чем ADODB.Connection и является)
Re[6]: error descriptions
От:
dad
Дата: 16.08.02 09:24
Оценка:
dad>>_com_error:
dad>>Error : 800401F0
dad>>ErrorMessage: Не был произведен вызов CoInitialize.
dad>>Description : (null)
dad>>Source : (null)
А>Ну дак и сделай CoInitializeEx(NULL,COINIT_MULTITHREADED);
ну не идиот ли :)) в мытарствах со своими ошибками подтер
эти строки инициализации.. и уже несколько часов смотрю на ошибку написанную РУССКИМ языком
и не могу сообразить. Спасибо, что откликнулся.. получай Super ^)
Веру-ю-у! В авиацию, в научную революци-ю-у, в механизацию сельского хозяйства, в космос и невесомость! Веру-ю-у! Ибо это объективно-о! (Шукшин)
Пока на собственное сообщение не было ответов, его можно удалить.
Удалить