MFC已有m_pConnection->Open("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=test.accdb", "", "", adModeUnknown);链接数据库,现需实现对食堂窗口表格中的受欢迎程度进行降序排序并将餐厅位置、主要菜品、平均价格和受欢迎程度所有字段都依次显示在List1列表中
时间: 2024-02-06 21:12:37 浏览: 79
可以通过以下代码实现对食堂窗口表格中的受欢迎程度进行降序排序并将排序结果显示在List1列表中:
```
// 执行 SQL 语句进行排序
CString strSql = "SELECT * FROM 食堂窗口 ORDER BY 受欢迎程度 DESC;";
_RecordsetPtr pRs;
pRs.CreateInstance(__uuidof(Recordset));
pRs->Open(strSql, m_pConnection.GetInterfacePtr(), adOpenStatic, adLockOptimistic, adCmdText);
// 遍历排序结果,并将字段依次显示在 List1 列表中
while (!pRs->adoEOF)
{
CString strLocation = pRs->GetCollect("餐厅位置");
CString strDish = pRs->GetCollect("主要菜品");
CString strPrice = pRs->GetCollect("平均价格");
CString strPopularity = pRs->GetCollect("受欢迎程度");
CString strItem;
strItem.Format("%s\t%s\t%s\t%s", strLocation, strDish, strPrice, strPopularity);
m_List1.AddString(strItem);
pRs->MoveNext();
}
```
需要注意的是,代码中的表格名称和字段名称需要根据实际情况进行修改。此外,如果 List1 列表没有创建,则需要在窗口初始化函数中添加以下代码:
```
m_List1.Create(WS_CHILD | WS_VISIBLE | WS_VSCROLL | LBS_SORT | LBS_NOINTEGRALHEIGHT, CRect(0, 0, 0, 0), this, IDC_LIST1);
```
阅读全文