powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Таблица ACCESS и ADO
2 сообщений из 2, страница 1 из 1
Таблица ACCESS и ADO
    #35658691
Владимир2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MFC, Microsoft Visual Studio 2008.
На нижеидущей строке
Код: plaintext
1.
2.
pCommand->CommandText = "Select * From Table_1";
pRecordset->Open ((IDispatch *) pCommand, vtMissing, adOpenForwardOnly,
			adLockReadOnly, adCmdUnknown); 
имею сообщениен:
IDispatch error #3092 Code meaning = %s
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
Если указать любую другую таблицу базы, кроме таблицы Table_1, то код 
продолжает выполняться дальше вниз, всё ОК!
А для таблицы Table_1 следующий оператор не выполняется. 
Аварийного завершения нет. Чем не нравится
указанная таблица функции pRecordset->Open() ?
Если таблицу скопировать и сохранить под другим именем, то ОК! 
Где и что сделать, чтобы появилась ‘любовь’ к имени таблицы ‘Table_1’?

Ниже показываю полный код, прикреплёный к командной кнопке на dialog window:
void CAdodc_my::OnBnClickedButton8()
{
	_CommandPtr pCommand;
	HRESULT hr = pCommand.CreateInstance (__uuidof (Command));
	if (FAILED (hr))
	{
		AfxMessageBox ("Can't create an instance of Command");
		return;
	}
	pCommand->ActiveConnection = m_pConn2; // значение переменной m_pConn2 
		// определено в событии OnInitDialog(), оно указывает 
		// что подсоединена  база ACCESS
pCommand->CommandText = "Select * From Table_1"; // Table_1 -
// имя таблицы из множества их в базе ACCESS
	_RecordsetPtr pRecordset;
	hr = pRecordset.CreateInstance (__uuidof (Recordset));
	if (FAILED (hr))
	{
		AfxMessageBox ("Can't create an instance of Recordset");
		return;
	}
	pRecordset->CursorLocation = adUseClient;
	pRecordset->Open ((IDispatch *) pCommand, vtMissing, adOpenForwardOnly,
			adLockReadOnly, adCmdUnknown); 

// если указать любую
// другую таблицу базы, кроме таблицы Table_1, то код 
продолжает выполняться дальше вниз, всё ОК!
А для таблицы Table_1
следующий оператор не выполняется. Аварийного завершения нет. Чем не нравится
указанная таблица функции pRecordset->Open() ?

{
. . . 
}
	} 
	catch( _com_error &e )
	{
		_bstr_t bstrSource(e.Source());
		_bstr_t bstrDescription(e.Description());
		TRACE( "Exception thrown for classes generated by #import" );
		TRACE( "\tCode = %08lx\n", e.Error());
		TRACE( "\tCode meaning = %s\n", e.ErrorMessage());
		TRACE( "\tSource = %s\n", (LPCTSTR) bstrSource);
		TRACE( "\tDescription = %s\n", (LPCTSTR) bstrDescription);
		MessageBox("\tCode meaning = %s\n", e.ErrorMessage()); 
	}
	catch (...)
	{
		TRACE ( "*** Unhandled Exception ***" );
		MessageBox("*** Unhandled Exception ***" );
	}
...
Рейтинг: 0 / 0
Таблица ACCESS и ADO
    #35659712
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
перенесу ка я вас в форум по ADO, всё одно тут ничего не говорят.
Тема вообще к С++ мало относится.

Модератор: Тема перенесена из форума "C++".
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Таблица ACCESS и ADO
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]