?? dlgbaseinfom.cpp
字號:
// DlgBaseInfoM.cpp : implementation file
//
#include "stdafx.h"
#include "aaa.h"
#include "DlgBaseInfoM.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
extern BOOL ADOFLAG; //數據庫連接標識【連接:TRUE 斷開:FALSE】
extern _ConnectionPtr m_pCon; //ADO連接對象
extern _RecordsetPtr m_pRs; //ADO記錄集對象
extern CString strsql; //SQL語句
/////////////////////////////////////////////////////////////////////////////
// CDlgBaseInfoM dialog
CDlgBaseInfoM::CDlgBaseInfoM(CWnd* pParent /*=NULL*/)
: CDialog(CDlgBaseInfoM::IDD, pParent)
{
//{{AFX_DATA_INIT(CDlgBaseInfoM)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
nSelect = -1;
iDataIndex = 1;
iDataIndex1 = 1;
iDataIndex2 = 1;
iDataIndex3 = 1;
}
CDlgBaseInfoM::CDlgBaseInfoM(int iSelect, CWnd* pParent /*=NULL*/ )
: CDialog(CDlgBaseInfoM::IDD, pParent)
{
nSelect = iSelect;
iDataIndex = 1;
iDataIndex1 = 1;
iDataIndex2 = 1;
iDataIndex3 = 1;
}
void CDlgBaseInfoM::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDlgBaseInfoM)
DDX_Control(pDX, IDC_TAB1, m_tab);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDlgBaseInfoM, CDialog)
//{{AFX_MSG_MAP(CDlgBaseInfoM)
ON_WM_CLOSE()
ON_COMMAND(IDC_ADD, OnAdd)
ON_COMMAND(IDC_MODIFY, OnModify)
ON_COMMAND(IDC_QUERY, OnQuery)
ON_COMMAND(IDC_DEL, OnDel)
ON_COMMAND(IDC_FIRST, OnFirst)
ON_COMMAND(IDC_BEFORE, OnBefore)
ON_COMMAND(IDC_AFTER, OnAfter)
ON_COMMAND(IDC_END, OnEnd)
ON_COMMAND(IDC_SHUTDOWN, OnShut)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDlgBaseInfoM message handlers
BOOL CDlgBaseInfoM::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_TOOLTIPS |CBRS_FLYBY | CBRS_SIZE_DYNAMIC))
{
return FALSE;
}
if(!m_wndReBar.Create(this,TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP|RBS_VERTICALGRIPPER
| CBRS_TOOLTIPS | CBRS_FLYBY| CBRS_SIZE_DYNAMIC))
{
return FALSE;
}
m_wndToolBar.GetToolBarCtrl().SetButtonWidth(40, 80); //設置按鈕的寬度和長度
CImageList img;
//設置圖標
img.Create(22, 22, ILC_COLOR24|ILC_MASK,2,2);
img.SetBkColor(::GetSysColor(COLOR_BTNFACE));
img.Add(AfxGetApp()->LoadIcon(IDI_ICON11)); //0
img.Add(AfxGetApp()->LoadIcon(IDI_ICON12)); //1
img.Add(AfxGetApp()->LoadIcon(IDI_ICON13)); //2
img.Add(AfxGetApp()->LoadIcon(IDI_ICON14)); //3
img.Add(AfxGetApp()->LoadIcon(IDI_ICON15)); //4
img.Add(AfxGetApp()->LoadIcon(IDI_ICON16)); //5
img.Add(AfxGetApp()->LoadIcon(IDI_ICON17)); //6
img.Add(AfxGetApp()->LoadIcon(IDI_ICON18)); //7
img.Add(AfxGetApp()->LoadIcon(IDI_SHUT_DOWN)); //8
m_wndToolBar.GetToolBarCtrl().SetImageList(&img);
img.Detach();
m_wndToolBar.ModifyStyle(0, TBSTYLE_FLAT |CBRS_TOOLTIPS | TBSTYLE_TRANSPARENT|TBBS_CHECKBOX);
m_wndToolBar.SetButtons(NULL, 9); //共九個按鈕
// 設置每個工具按鈕文字
m_wndToolBar.SetButtonInfo(0, IDC_ADD, TBSTYLE_BUTTON, 0);
m_wndToolBar.SetButtonText(0, "增加");
m_wndToolBar.SetButtonInfo(1, IDC_MODIFY, TBSTYLE_BUTTON , 1);
m_wndToolBar.SetButtonText(1, "修改");
m_wndToolBar.SetButtonInfo(2, IDC_QUERY, TBSTYLE_BUTTON, 2);
m_wndToolBar.SetButtonText(2, "查詢");
m_wndToolBar.SetButtonInfo(3, IDC_DEL, TBSTYLE_BUTTON, 3);
m_wndToolBar.SetButtonText(3, "刪除");
m_wndToolBar.SetButtonInfo(4, IDC_FIRST, TBSTYLE_BUTTON, 4);
m_wndToolBar.SetButtonText(4, "首條記錄");
m_wndToolBar.SetButtonInfo(5, IDC_BEFORE, TBSTYLE_BUTTON, 5);
m_wndToolBar.SetButtonText(5, "向前");
m_wndToolBar.SetButtonInfo(6, IDC_AFTER, TBSTYLE_BUTTON , 6);
m_wndToolBar.SetButtonText(6, "向后");
m_wndToolBar.SetButtonInfo(7, IDC_END, TBSTYLE_BUTTON , 7);
m_wndToolBar.SetButtonText(7, "末條記錄");
m_wndToolBar.SetButtonInfo(8, IDC_SHUTDOWN, TBSTYLE_BUTTON , 8);
m_wndToolBar.SetButtonText(8, "退出");
CRect rectToolBar;
m_wndToolBar.GetItemRect(0, &rectToolBar); //得到按鈕的大小
rectToolBar.right = 55;
rectToolBar.bottom= 42;
m_wndToolBar.SetSizes(rectToolBar.Size(), CSize(20,20)); //設置按鈕的大小
//在Rebar中加入ToolBar
m_wndReBar.AddBar(&m_wndToolBar);
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);
m_wndToolBar.GetToolBarCtrl().EnableButton(IDC_MODIFY, FALSE);
m_wndToolBar.GetToolBarCtrl().EnableButton(IDC_FIRST, FALSE);
m_wndToolBar.GetToolBarCtrl().EnableButton(IDC_BEFORE, FALSE);
m_wndToolBar.GetToolBarCtrl().EnableButton(IDC_AFTER, FALSE);
m_wndToolBar.GetToolBarCtrl().EnableButton(IDC_END, FALSE);
m_tab.AddPage("操作員", &m_dlg1, IDD_OPERATOR1);
m_tab.AddPage("商品信息", &m_dlg2, IDD_PRODUCT_INFO1);
m_tab.AddPage("庫存信息", &m_dlg3, IDD_STORAGE_INFO1);
m_tab.AddPage("供應商信息", &m_dlg4, IDD_PRIVDER_INFO1);
if (nSelect >= 0)
{
m_tab.Show(nSelect);
}
else
{
m_tab.Show();
}
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CDlgBaseInfoM::OnClose()
{
// TODO: Add your message handler code here and/or call default
m_tab.DestroyWindow();
CDialog::OnClose();
}
void CDlgBaseInfoM::OnAdd()
{
int iCur = m_tab.GetCurSel();
switch(iCur)
{
case 0:
{
CAaaApp *pApp = (CAaaApp *)AfxGetApp();
int iflag = 0; //操作員級別
CString strName, strPass, strCount;
m_dlg1.GetDlgItemText(IDC_NAME, strName);
m_dlg1.GetDlgItemText(IDC_PASSWORD, strPass);
if (strName == "" || strPass =="")
{
MessageBox("操作員名稱或密碼不能為空", "增加信息錯誤");
return;
}
iflag = m_dlg1.GetDlgItemInt(IDC_COMB_JB);
if (iflag<=0 || iflag>pApp->iLevel)
{
CString str;
str.Format("添加操作員級別必須為數字1到數字%d之間", pApp->iLevel);
MessageBox(str, "增加信息錯誤");
return;
}
if (ADOFLAG)
{
try
{
strsql.Format("select count(*) as nCount from tb_operator where name='%s' ", strName);
m_pRs = m_pCon->Execute(_bstr_t(strsql), NULL, adCmdText);
strCount = (LPCSTR)_bstr_t(m_pRs->GetCollect("nCount"));
if (strCount == "1")
{
MessageBox("操作員名稱已經存在 請您選擇另一個名稱", "增加信息錯誤");
return;
}
strsql.Format("insert into tb_operator(name, password, [level]) values('%s', '%s', %d)",
strName, strPass, iflag);
m_pCon->Execute(_bstr_t(strsql), NULL, adCmdText);
}
catch(...)
{
ADOFLAG = FALSE;
MessageBox("添加操作員失敗", "增加信息");
}
MessageBox("添加操作員成功", "增加信息");
}
else
{
MessageBox("添加操作員失敗 數據庫連接失敗", "增加信息");
}
m_dlg1.SetDlgItemText(IDC_NAME, "");
m_dlg1.SetDlgItemText(IDC_PASSWORD, "");
m_dlg1.SetDlgItemText(IDC_COMB_JB, "");
m_wndToolBar.GetToolBarCtrl().EnableButton(IDC_MODIFY, FALSE);
m_wndToolBar.GetToolBarCtrl().EnableButton(IDC_FIRST, FALSE);
m_wndToolBar.GetToolBarCtrl().EnableButton(IDC_BEFORE, FALSE);
m_wndToolBar.GetToolBarCtrl().EnableButton(IDC_AFTER, FALSE);
m_wndToolBar.GetToolBarCtrl().EnableButton(IDC_END, FALSE);
}
break;
case 1:
{
CAaaApp *pApp = (CAaaApp *)AfxGetApp();
CString strProId, strProName, strRule, strZjCode, strPrice, strProider, strMark;
m_dlg2.GetDlgItemText(IDC_ID, strProId);
m_dlg2.GetDlgItemText(IDC_PRO_NAME, strProName);
m_dlg2.GetDlgItemText(IDC_RULE, strRule);
m_dlg2.GetDlgItemText(IDC_ZJCODE, strZjCode);
m_dlg2.GetDlgItemText(IDC_MR_PRICE, strPrice);
m_dlg2.GetDlgItemText(IDC_PRO_PROVIDER, strProider);
m_dlg2.GetDlgItemText(IDC_PRO_MARK, strMark);
if (pApp->iLevel <= 2)
{
MessageBox("您沒有權限添加信息", "增加信息錯誤");
return;
}
if (strProId.IsEmpty() || strProName.IsEmpty() ||strRule.IsEmpty() ||strZjCode.IsEmpty()
|| strPrice.IsEmpty() ||strProider.IsEmpty() || strMark.IsEmpty())
{
MessageBox("增加的信息不完整, 請您重新填寫", "增加信息錯誤");
return;
}
if (ADOFLAG)
{
try
{
strsql.Format("select count(*) as nCount from tb_merchandiseinfo where ID='%s' ", strProId);
m_pRs = m_pCon->Execute(_bstr_t(strsql), NULL, adCmdText);
CString strCount = (LPCSTR)_bstr_t(m_pRs->GetCollect("nCount"));
if (strCount == "1")
{
MessageBox("商品編號已經存在 請您選擇另一個編號", "增加信息錯誤");
return;
}
strsql.Format("insert into tb_merchandiseinfo(ID, name, spec, shortname, defaultprice, \
manufacturer, memo) values('%s', '%s', '%s', '%s', %.2f, '%s', '%s')",
strProId, strProName, strRule, strZjCode, atof(strPrice),strProider, strMark);
m_pCon->Execute(_bstr_t(strsql), NULL, adCmdText);
}
catch(...)
{
ADOFLAG = FALSE;
MessageBox("添加商品信息失敗", "增加信息");
}
MessageBox("添加商品信息成功", "增加信息");
}
else
{
MessageBox("添加商品信息失敗 數據庫連接失敗", "增加信息");
}
m_dlg2.SetDlgItemText(IDC_ID, "");
m_dlg2.SetDlgItemText(IDC_PRO_NAME, "");
m_dlg2.SetDlgItemText(IDC_RULE, "");
m_dlg2.SetDlgItemText(IDC_ZJCODE, "");
m_dlg2.SetDlgItemText(IDC_MR_PRICE, "");
m_dlg2.SetDlgItemText(IDC_PRO_PROVIDER, "");
m_dlg2.SetDlgItemText(IDC_PRO_MARK, "");
m_wndToolBar.GetToolBarCtrl().EnableButton(IDC_MODIFY, FALSE);
m_wndToolBar.GetToolBarCtrl().EnableButton(IDC_FIRST, FALSE);
m_wndToolBar.GetToolBarCtrl().EnableButton(IDC_BEFORE, FALSE);
m_wndToolBar.GetToolBarCtrl().EnableButton(IDC_AFTER, FALSE);
m_wndToolBar.GetToolBarCtrl().EnableButton(IDC_END, FALSE);
}
break;
case 2:
{
CAaaApp *pApp = (CAaaApp *)AfxGetApp();
CString strStoreName;
m_dlg3.GetDlgItemText(IDC_STORE_NAME, strStoreName);
if (pApp->iLevel <= 2)
{
MessageBox("您沒有權限添加信息", "增加信息錯誤");
return;
}
if (strStoreName.IsEmpty())
{
MessageBox("增加的信息不能為空, 請您重新填寫", "增加信息錯誤");
return;
}
if (ADOFLAG)
{
try
{
strsql.Format("select count(*) as nCount from tb_storageinfo where storagename='%s' ", strStoreName);
m_pRs = m_pCon->Execute(_bstr_t(strsql), NULL, adCmdText);
CString strCount = (LPCSTR)_bstr_t(m_pRs->GetCollect("nCount"));
if (strCount == "1")
{
MessageBox("庫存名稱已經存在 請您選擇另一個庫存名稱", "增加信息錯誤");
return;
}
strsql.Format("insert into tb_storageinfo(storagename) values('%s') ", strStoreName);
m_pCon->Execute(_bstr_t(strsql), NULL, adCmdText);
}
catch(...)
{
ADOFLAG = FALSE;
MessageBox("添加庫存信息失敗", "增加信息");
}
MessageBox("添加庫存信息成功", "增加信息");
}
else
{
MessageBox("添加庫存信息失敗 數據庫連接失敗", "增加信息");
}
m_dlg3.SetDlgItemText(IDC_STORE_NAME, "");
m_wndToolBar.GetToolBarCtrl().EnableButton(IDC_MODIFY, FALSE);
m_wndToolBar.GetToolBarCtrl().EnableButton(IDC_FIRST, FALSE);
m_wndToolBar.GetToolBarCtrl().EnableButton(IDC_BEFORE, FALSE);
m_wndToolBar.GetToolBarCtrl().EnableButton(IDC_AFTER, FALSE);
m_wndToolBar.GetToolBarCtrl().EnableButton(IDC_END, FALSE);
}
break;
case 3:
{
CAaaApp *pApp = (CAaaApp *)AfxGetApp();
CString strProName, strCEo, strManager,
strPhone, strAddress, strNetAddress, strEmail;
m_dlg4.GetDlgItemText(IDC_PROVIDER_NAME, strProName);
m_dlg4.GetDlgItemText(IDC_PRO_CEO, strCEo);
m_dlg4.GetDlgItemText(IDC_PRO_MANAGER, strManager);
m_dlg4.GetDlgItemText(IDC_PRO_PHONE, strPhone);
m_dlg4.GetDlgItemText(IDC_PRO_ADDRESS, strAddress);
m_dlg4.GetDlgItemText(IDC_PRO_NET_ADDRESS, strNetAddress);
m_dlg4.GetDlgItemText(IDC_PRO_EMAIL, strEmail);
if (pApp->iLevel <= 2)
{
MessageBox("您沒有權限添加信息", "增加信息錯誤");
return;
}
if (strProName.IsEmpty()||strCEo.IsEmpty())
{
MessageBox("增加的信息不完整, 請您重新填寫", "增加信息錯誤");
return;
}
if (ADOFLAG)
{
try
{
strsql.Format("select count(*) as nCount from tb_providerinfo where providername='%s' ", strProName);
m_pRs = m_pCon->Execute(_bstr_t(strsql), NULL, adCmdText);
CString strCount = (LPCSTR)_bstr_t(m_pRs->GetCollect("nCount"));
if (strCount == "1")
{
MessageBox("供應商名稱已經存在 請您選擇另一個編號", "增加信息錯誤");
return;
}
strsql.Format("insert into tb_providerinfo(providername, artificialperson, \
principal, phone, addr, web, e_mail) values('%s', '%s', '%s', '%s', '%s', '%s', '%s')",
strProName, strCEo, strManager, strPhone, strAddress,strNetAddress, strEmail);
m_pCon->Execute(_bstr_t(strsql), NULL, adCmdText);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -