3.7.5 入库明细界面的实现(3)
第27~41行代码主要执行SQL语句后把查询结果显示在组合框中。此处GetMerc()函数是带参数的,参数是构造的SQL语句,通过SQL语句实现库存表、供应商表及商品信息表的连接查询。列表控件对应的LVN_ITEMCHANGED消息函数为OnItemchangedList1(),其中代码如下:
代码位置:见光盘中本章源代码的CINDETAIL类。
- 1 void CINDETAIL::OnItemchangedList1(NMHDR* pNMHDR, LRESULT* pResult)
- 2 {
- 3 NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR; //控件结构体定义指针
- 4 int iItem=pNMListView->iItem; //用指针获取行数
- 5 CString sqlstr,temp; //定义变量
- 6 m_mercid=m_list.GetItemText(iItem,0); //获取行的第一列内容
- 7 sqlstr.Format("select distinct a.id,a.mercname,a.spec,a.mercunit,a.inprice, c.provname,
- 8 a.discount,b.storid,b.stortype,b.storinfo from tb_merchangiseinfo a inner join tb_storage b
- 9 on a.id='%s' and b.merchandiseid='%s' and storflag='1' inner join tb_provider c
- 10 on a.provid=c.provid",m_mercid,m_mercid); //构造查询语句
- 11 GetMerc(sqlstr); //执行查询语句
- 12 *pResult = 0;
- 13 }
第7~10行代码实现了库存表、供应商表及商品信息表的连接查询。
第11行代码实现了商品详细信息获取。