?? selectmaterial.cpp
字號:
?
+
// SelectMaterial.cpp : implementation file
//
#include "stdafx.h"
#include "Store.h"
#include "SelectMaterial.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CSelectMaterial dialog
CSelectMaterial::CSelectMaterial(CWnd* pParent /*=NULL*/)
: CDialog(CSelectMaterial::IDD, pParent)
{
//{{AFX_DATA_INIT(CSelectMaterial)
m_num = 0;
m_materialID="";
m_materialName="";
m_unit="";
m_model="";
m_price=0;
//}}AFX_DATA_INIT
}
void CSelectMaterial::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CSelectMaterial)
DDX_Control(pDX, IDC_LIST1, m_list);
DDX_Text(pDX, IDC_num, m_num);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CSelectMaterial, CDialog)
//{{AFX_MSG_MAP(CSelectMaterial)
ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList1)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSelectMaterial message handlers
BOOL CSelectMaterial::OnInitDialog()
{
CDialog::OnInitDialog();
//設定列表框空間的樣式,整行選擇、網格線
DWORD style;
style=m_list.GetExStyle();
style=(style|LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT)&(~LVS_EX_CHECKBOXES) ;
m_list.SetExtendedStyle(style);
//為列表框控件添加列并設定列標題
m_list.InsertColumn(0,"物料編碼",LVCFMT_LEFT,100);
m_list.InsertColumn(1,"物料名稱",LVCFMT_LEFT,100);
m_list.InsertColumn(2,"規格",LVCFMT_LEFT,100);
m_list.InsertColumn(3,"型號",LVCFMT_LEFT,100);
m_list.InsertColumn(4,"計量單位",LVCFMT_LEFT,100);
m_list.InsertColumn(5,"保質期",LVCFMT_LEFT,100);
m_list.InsertColumn(6,"顏色類別",LVCFMT_LEFT,100);
m_list.InsertColumn(7,"質量等級",LVCFMT_LEFT,100);
m_list.InsertColumn(8,"稅率",LVCFMT_LEFT,100);
m_list.InsertColumn(9,"損耗率",LVCFMT_LEFT,100);
m_list.InsertColumn(10,"存放倉庫",LVCFMT_LEFT,100);
m_list.InsertColumn(11,"供應商",LVCFMT_LEFT,100);
m_list.InsertColumn(12,"計劃價",LVCFMT_LEFT,100);
m_list.InsertColumn(13,"參考成本價",LVCFMT_LEFT,100);
m_list.InsertColumn(14,"備注",LVCFMT_LEFT,100);
_RecordsetPtr m_pListRecordset; //用于創建一個查詢記錄集
CString strSQL;
strSQL="SELECT * FROM material";//查詢物料表中的數據的sql語句
try
{
HRESULT hTRes;
hTRes = m_pListRecordset.CreateInstance(_T("ADODB.Recordset"));
if (SUCCEEDED(hTRes))
{
hTRes = m_pListRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
((CStoreApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
adOpenDynamic,adLockPessimistic,adCmdText);//打開查詢結果記錄集
if(SUCCEEDED(hTRes))
{
int i=0;
//將查詢結果插入列表框控件中
while(!m_pListRecordset->adoEOF)
{
m_list.InsertItem(i,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("materialID")));//物料編號
m_list.SetItemText(i,1,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("materialName"))); //物料名稱
m_list.SetItemText(i,2,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("standard")));//規格
m_list.SetItemText(i,3,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("model"))); //型號
m_list.SetItemText(i,4,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("unit"))); //計量單位
m_list.SetItemText(i,5,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("qualityGuarantee")));//保質期
m_list.SetItemText(i,6,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("colorType")));//顏色類別
m_list.SetItemText(i,7,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("qualityLevel")));//質量等級
m_list.SetItemText(i,8,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("taxRate")));//稅率
m_list.SetItemText(i,9,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("loseRate")));//損耗率
m_list.SetItemText(i,10,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("storeHouse")));//存放倉庫
m_list.SetItemText(i,11,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("provider")));//供應商
m_list.SetItemText(i,12,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("planPrice")));//計劃價
m_list.SetItemText(i,13,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("standardPrice")));//參考成本價
m_list.SetItemText(i,14,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("remark")));//備注
if (!(m_pListRecordset->adoEOF))
{
m_pListRecordset->MoveNext(); //記錄集指針向后移動
i++;
}
}
}
}
}
catch(_com_error e)///捕捉異常
{
CString errormessage;
MessageBox("創建記錄集失敗!","錯誤");
}
return TRUE;
}
void CSelectMaterial::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult)
{
UpdateData(true);
POSITION pos = m_list.GetFirstSelectedItemPosition();//獲取單擊位置
if(pos)
{
int nFirstSelItem = m_list.GetNextSelectedItem(pos);//獲取選中的條目
m_materialID=m_list.GetItemText(nFirstSelItem,0);//物料編號
m_materialName=m_list.GetItemText(nFirstSelItem,1);//物料名稱
m_unit=m_list.GetItemText(nFirstSelItem,4);//計量單位
m_model=m_list.GetItemText(nFirstSelItem,3);//型號
// m_price=atof(m_list.GetItemText(nFirstSelItem,12));//單價
_RecordsetPtr m_pListRecordset; //用于創建一個查詢記錄集
CString strSQL;
strSQL="SELECT * FROM material where materialID='"+m_materialID+"'";//查詢物料表中的數據的sql語句
HRESULT hTRes;
hTRes = m_pListRecordset.CreateInstance(_T("ADODB.Recordset"));
if (SUCCEEDED(hTRes))
{
hTRes = m_pListRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
((CStoreApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
adOpenDynamic,adLockPessimistic,adCmdText);//打開查詢結果記錄集
if(SUCCEEDED(hTRes))
{
int i=0;
//將查詢結果插入列表框控件中
if(!m_pListRecordset->adoEOF)
{
CString str=((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("planPrice"));//計劃價
m_price=atoi(str);
str.Format("%f",m_price);
// AfxMessageBox(str);
}
}
}
}
*pResult = 0;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -