关于vc+sqlserver:无效的描述器索引
代码如下:
- C/C++ code
void CTestDBDlg::OnOK() { // TODO: Add extra validation here CDatabase db; db.Open(_T("test")); CTestDBRecord* p=new CTestDBRecord(&db); p->Open(AFX_DB_USE_DEFAULT_TYPE,"select aa from TestTab"); //............. p->Close(); delete p; CDialog::OnOK();}其中aa为列名,运行到p->Open时出错,提示:无效的描述器索引。
把
select aa from TestTab
改为
select * from TestTab就能正常运行,为什么
[解决办法]
CTestDBRecord是从CRecordset派生的吧,
那在你派生的时候是否绑定了其它列呢,如果绑定了,你打开的时候"select aa from TestTab",
数据只返回一列,其它列绑定,找不到绑定项,所以提示咯