对话框应用程序,在主程序窗口listcontrol控件显示数据库中表Project的信息,共有6个字段,为了简化,就先显示一个字段,但是运行说无效的索引。求助!!!!!!!是用ODBC链接的SQLserver数据库。list control对应的变量为m_list1 函数如下: m_list1.ModifyStyle(0, LVS_REPORT);
m_list1.SetExtendedStyle(LVS_EX_GRIDLINES);
CRect rect;
        m_list1.GetClientRect(&rect);
        int nColInterval = rect.Width()/15;      
    
        m_list1.InsertColumn(0,_T("No"),LVCFMT_LEFT,nColInterval);
        m_list1.InsertColumn(1,_T("识别码"),LVCFMT_LEFT,nColInterval*2);
        m_list1.InsertColumn(2,_T("项目名称"),LVCFMT_LEFT,nColInterval*2);
m_list1.InsertColumn(3,_T("启动时间"),LVCFMT_LEFT,nColInterval*2);
m_list1.InsertColumn(4,_T("结束时间"),LVCFMT_LEFT,nColInterval*2);
m_list1.InsertColumn(5,_T("项目负责人"),LVCFMT_LEFT,nColInterval*2);
m_list1.InsertColumn(6,_T("项目描述"),LVCFMT_LEFT,rect.Width()-11*nColInterval);

//数据库
CDatabase m_db;
m_db.Open(_T("tmDSN"));
CProjectInfo m_project(&m_db); CDBVariant varValue;
m_project.Open(CRecordset::forwardOnly,_T("select * from ProjectInfo"));
short nFields = m_project.GetODBCFieldCount(); while(!m_project.IsEOF())
{
for( short index = 0; index < nFields; index++)
{
m_project.GetFieldValue(index,varValue);
m_list1.InsertItem(index,_T("HU"));
m_list1.SetItemText(index,index,_T("hu"));

}
m_project.MoveNext();
}
m_project.Close();
m_db.Close();
在线等!!谢谢!