要看你用什么连接数据源,例如ODBC则这样:
int i = 0;
while(!m_pSet->IsEOF)
{
m_List.InsertItem(i, m_pSet->m_Itme1);
m_List.SetItemText(i, 1, m_pSet->Itme2);
m_List.SetItemText(i, 2, m_pSet->Itme3); m_pSet->MoveNext();
i++;
}//之前当然要初始化ListCtrl的表头了
int i = 0;
while(!m_pSet->IsEOF)
{
m_List.InsertItem(i, m_pSet->m_Itme1);
m_List.SetItemText(i, 1, m_pSet->Itme2);
m_List.SetItemText(i, 2, m_pSet->Itme3); m_pSet->MoveNext();
i++;
}//之前当然要初始化ListCtrl的表头了
解决方案 »
- socket非阻塞连接的问题。
- 启动一个线程的函数的疑问
- 请教高手!!!关于位运算得问题
- 自己写的一个类中,要设置定时器,怎样才能避免少用static的成员变量。
- 小弟新手 没分,希望有人能回答我的问题关于TAB控件
- VC中如何使用ZIP/UNZIP功能
- 在窗口中,用CWnd *pWndChild = GetWindow(GW_CHILD);得到控件指针后,如何判断其类型啊?是按钮还是编辑框或其它?
- 如何自动注册ocx控件,例如winsock
- 怎样向另一个进程发送消息?还有怎么捕捉鼠标?
- 5k~10k的程序员请进!
- 如何用CTime取得系统时间,并转化为CString?
- 谁能介绍几个比csdn还好的IT技术论坛.
try
{
CDatabase db;
if(db.Open("program"))
{
CKongset* m_pSet=new CKongset();
m_pSet->Open(AFX_DB_USE_DEFAULT_TYPE,"SELECT * from PlayTable");
//初始化LIST
LV_ITEM lvitem;
short fieldcount=m_pSet->GetODBCFieldCount();
for (int i=0;i<fieldcount;i++) //读入数据库列信息,设置列名
{
m_pSet->GetODBCFieldInfo(i,fieldinfo);
int len = fieldinfo.m_strName.GetLength();
//CString temp = fieldinfo.m_strName;
TCHAR* szBuffer=new TCHAR[len+10];
switch(i)
{
case 0:
strcpy(szBuffer,"编号");
len=40;
break;
case 1:
strcpy(szBuffer,"播出时间");
len=150;
break;
case 2:
strcpy(szBuffer,"节目名称");
len=150;
break;
case 3:
strcpy(szBuffer,"类型");
len=40;
break;
case 4:
strcpy(szBuffer,"播出时长");
len=60;
break;
case 5:
strcpy(szBuffer,"存放位置");
len=150;
break;
case 6:
strcpy(szBuffer,"实播时间");
len=150;
break;
case 7:
strcpy(szBuffer,"实长");
len=60;
break;
case 8:
strcpy(szBuffer,"用时");
len=60;
break;
}
//TCHAR* szBuffer = new TCHAR[len + 1];
//strcpy(szBuffer, temp.GetBuffer(len));
//temp.ReleaseBuffer();
m_ListCtrl.InsertColumn(i,szBuffer,LVCFMT_LEFT,len);//insert column
delete szBuffer;
} CString varValue; //读入数据项
int j=0;
short nFields = m_pSet->GetODBCFieldCount( );
while( !m_pSet->IsEOF( ) )
{
for( short index = 0; index < nFields; index++ )
{
m_pSet->GetFieldValue(index, varValue); int len = varValue.GetLength();
CString temp = varValue;
TCHAR* szBuffer = new TCHAR[len + 50];
strcpy(szBuffer, temp.GetBuffer(len));
temp.ReleaseBuffer(); lvitem.mask=LVIF_TEXT;
lvitem.iItem=j;
lvitem.iSubItem=index;
lvitem.pszText=szBuffer; m_ListCtrl.InsertItem(&lvitem);
m_ListCtrl.SetItemText(j,index,szBuffer);
delete szBuffer;
}
m_pSet->MoveNext( );
j++;
}
}
}
catch(CDBException* pe)
{
AfxMessageBox(pe->m_strError);
pe->Delete();
}