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
От: Lexey Россия  
Дата: 15.08.02 19:08
Оценка: 8 (1)
Здравствуйте 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
От: Алекс Россия http://wise-orm.com
Дата: 16.08.02 08:59
Оценка: 12 (1)
Здравствуйте 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 ^)
Веру-ю-у! В авиацию, в научную революци-ю-у, в механизацию сельского хозяйства, в космос и невесомость! Веру-ю-у! Ибо это объективно-о! (Шукшин)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.