MFC: CRecordset.Open
От: EDD  
Дата: 16.12.02 14:47
Оценка:
Помогите !
----------------------
CRecordSet SomeObject(&db);
SomeObject.open(snapshot,"SELECT * FROM [SomeTable]");
----------------------

При этом вызове вылетает messagebox: "Invalid index descriptor".
Из-за чего это может быть ?
db — корректно открытый объект CDatabase.
Re: MFC: CRecordset.Open
От: Аноним  
Дата: 16.12.02 15:06
Оценка:
Здравствуйте, EDD, Вы писали:

EDD>Помогите !

EDD>----------------------
EDD>CRecordSet SomeObject(&db);
EDD>SomeObject.open(snapshot,"SELECT * FROM [SomeTable]");
EDD>----------------------
EDD>
EDD>При этом вызове вылетает messagebox: "Invalid index descriptor".
EDD>Из-за чего это может быть ?
EDD>db — корректно открытый объект CDatabase.


//если мне работать с базой то я так поступаю —

class CD_GM1 : public CRecordset


class CM1 : public CDialog
{
DECLARE_DYNAMIC(CM1)

public:
CM1(CWnd* pParent = NULL); // standard constructor
virtual ~CM1();
CD_GM1 tabl1;


tabl1.Open(CRecordset::dynaset , _T( "Select * from D_GM1 WHERE ID >= " + d_ogr ),CRecordset::skipDeletedRecords );



//открыл, закрыл,загрузил куданить, переопределил запрос ......
// из любого доступного места .....
Re: MFC: CRecordset.Open
От: LinXor  
Дата: 17.12.02 09:20
Оценка:
Здравствуйте, EDD, Вы писали:

EDD>Помогите !

EDD>----------------------
EDD>CRecordSet SomeObject(&db);
EDD>SomeObject.open(snapshot,"SELECT * FROM [SomeTable]");
EDD>----------------------
EDD>
EDD>При этом вызове вылетает messagebox: "Invalid index descriptor".
EDD>Из-за чего это может быть ?
EDD>db — корректно открытый объект CDatabase.


Привет!
Попробуй вместо snapshot использовать dynaset, это первое, а еще (нудно, конечно, но помогает) вместо звездочки в SELECT'e, попробуй в SQL-строке явно перечислить все поля: SELECT YourTable.Field_1,...YourTable.Field_n...

Удачи...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.