Code/Resource
Windows Develop
Linux-Unix program
Internet-Socket-Network
Web Server
Browser Client
Ftp Server
Ftp Client
Browser Plugins
Proxy Server
Email Server
Email Client
WEB Mail
Firewall-Security
Telnet Server
Telnet Client
ICQ-IM-Chat
Search Engine
Sniffer Package capture
Remote Control
xml-soap-webservice
P2P
WEB(ASP,PHP,...)
TCP/IP Stack
SNMP
Grid Computing
SilverLight
DNS
Cluster Service
Network Security
Communication-Mobile
Game Program
Editor
Multimedia program
Graph program
Compiler program
Compress-Decompress algrithms
Crypt_Decrypt algrithms
Mathimatics-Numerical algorithms
MultiLanguage
Disk/Storage
Java Develop
assembly language
Applications
Other systems
Database system
Embeded-SCM Develop
FlashMX/Flex
source in ebook
Delphi VCL
OS Develop
MiddleWare
MPI
MacOS develop
LabView
ELanguage
Software/Tools
E-Books
Artical/Document
ChuKuDlg.cpp
Package: MIS.rar [view]
Upload User: fjjkzmm
Upload Date: 2013-01-22
Package Size: 820k
Code Size: 8k
Category:
ADO-ODBC
Development Platform:
Visual C++
- // ChuKuDlg.cpp : implementation file
- //
- #include "stdafx.h"
- #include "库存管理.h"
- #include "ChuKuDlg.h"
- #include "Cargo.h"
- #include "Typer.h"
- #ifdef _DEBUG
- #define new DEBUG_NEW
- #undef THIS_FILE
- static char THIS_FILE[] = __FILE__;
- #endif
- /////////////////////////////////////////////////////////////////////////////
- // CChuKuDlg dialog
- CChuKuDlg::CChuKuDlg(CWnd* pParent /*=NULL*/)
- : CDialog(CChuKuDlg::IDD, pParent)
- {
- //{{AFX_DATA_INIT(CChuKuDlg)
- m_type = _T("");
- m_sendperson = _T("");
- m_sendcompany = _T("");
- m_rperson = _T("");
- m_place = _T("");
- m_number = 0;
- m_name = _T("");
- m_id = _T("");
- m_chuchangdate = COleDateTime::GetCurrentTime();
- m_chukudate = COleDateTime::GetCurrentTime();
- //}}AFX_DATA_INIT
- }
- void CChuKuDlg::DoDataExchange(CDataExchange* pDX)
- {
- CDialog::DoDataExchange(pDX);
- //{{AFX_DATA_MAP(CChuKuDlg)
- DDX_Control(pDX, IDC_Type, m_typer);
- DDX_Control(pDX, IDC_BUTTON2, m_button2);
- DDX_Control(pDX, IDC_PICTURE, m_picture);
- DDX_CBString(pDX, IDC_Type, m_type);
- DDX_Text(pDX, IDC_SendPerson, m_sendperson);
- DDX_Text(pDX, IDC_SendCompany, m_sendcompany);
- DDX_Text(pDX, IDC_RPerson, m_rperson);
- DDX_Text(pDX, IDC_Place, m_place);
- DDX_Text(pDX, IDC_Number, m_number);
- DDX_Text(pDX, IDC_Name, m_name);
- DDX_Text(pDX, IDC_ID, m_id);
- DDX_DateTimeCtrl(pDX, IDC_ChuChangDate, m_chuchangdate);
- DDX_DateTimeCtrl(pDX, IDC_ChuKuDate, m_chukudate);
- //}}AFX_DATA_MAP
- }
- BEGIN_MESSAGE_MAP(CChuKuDlg, CDialog)
- //{{AFX_MSG_MAP(CChuKuDlg)
- ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
- ON_BN_CLICKED(IDC_BUTTON3, OnButton3)
- ON_BN_CLICKED(IDC_BUTTON2, OnButton2)
- //}}AFX_MSG_MAP
- END_MESSAGE_MAP()
- /////////////////////////////////////////////////////////////////////////////
- // CChuKuDlg message handlers
- void CChuKuDlg::OnButton1()
- {
- // TODO: Add your control notification handler code here
- CFileDialog m_dialog (true,"bmp",NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,"位图文件(*.bmp)|*.bmp",this);
- if (m_dialog.DoModal()==IDOK)
- {
- //取得图片的完整路径
- strText = m_dialog.GetPathName();
- // HBITMAP m_hBitmap;
- m_hbitmap=(HBITMAP)::LoadImage(AfxGetInstanceHandle(),strText,IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_DEFAULTCOLOR|LR_DEFAULTSIZE);
- if (m_hbitmap != NULL)
- {
- //使用控件显示图片
- // m_picture.SetBitmap(m_hBitmap);
- CDC* pDC = m_picture.GetDC();
- CRect r;
- m_picture.GetClientRect(&r);
- //将位图选进设备场景中
- CDC memdc;
- memdc.CreateCompatibleDC( pDC );
- memdc.SelectObject(m_hbitmap);
- BITMAP bmp;
- GetObject(m_hbitmap,sizeof(bmp),&bmp);
- pDC->StretchBlt(r.left,r.top,r.Width(),r.Height(),&memdc,0,0,
- bmp.bmWidth,bmp.bmHeight,SRCCOPY);
- memdc.DeleteDC();
- }
- }
- }
- void CChuKuDlg::OnButton3()
- {
- // TODO: Add your control notification handler code here
- CDialog::OnCancel();
- }
- void CChuKuDlg::OnButton2()
- {
- // TODO: Add your control notification handler code here
- UpdateData(true);
- CCargo set;//数据库连接变量
- CString str;
- m_button2.GetWindowText(str);
- if(str=="出库")
- {
- enable();
- }
- else
- {
- HBITMAP m_hbitmap;//关联图片的变量
- // m_hbitmap = m_picture.GetBitmap();
- CString dates,chukudate;
- dates = m_chuchangdate.Format("%Y-%m-%d");
- chukudate = m_chukudate.Format("%Y-%m-%d");
- if(m_hbitmap == NULL)
- {
- MessageBox("请从磁盘中加载图片","提示");
- return;
- }
- // m_pConnection->Close();
- m_pRecordset.CreateInstance(_uuidof(Recordset));
- m_pRecordset->Open("select * from kucun",m_pConnection.GetInterfacePtr()
- ,adOpenDynamic,adLockOptimistic,adCmdText);
- try
- {
- m_pRecordset->AddNew();//添加新行
- VARIANT m_bitdata;
- CFile m_file (strText,CFile::modeRead);
- DWORD m_filelen = m_file.GetLength()+1;
- char * m_bitbuffer = new char[m_filelen];
- m_file.ReadHuge(m_bitbuffer,m_filelen);
- m_file.Close();
- m_bitdata.vt= VT_ARRAY|VT_UI1;
- SAFEARRAY * m_psafe;
- SAFEARRAYBOUND m_band;
- m_band.cElements = m_filelen;
- m_band.lLbound = 0;
- m_psafe = SafeArrayCreate(VT_UI1,1,&m_band);
- for(long i=0; i < m_filelen ; i++)
- {
- SafeArrayPutElement(m_psafe,&i,m_bitbuffer++);
- }
- m_bitdata.parray = m_psafe;
- m_pRecordset->GetFields()->GetItem("id")->Value = (_bstr_t)m_id;
- m_pRecordset->GetFields()->GetItem("names")->Value = (_bstr_t)m_name;
- m_pRecordset->GetFields()->GetItem("types")->Value = (_bstr_t)m_type;
- m_pRecordset->GetFields()->GetItem("number")->Value = (_bstr_t)m_number;
- m_pRecordset->GetFields()->GetItem("place")->Value = (_bstr_t)m_place;
- m_pRecordset->GetFields()->GetItem("companyname")->Value = (_bstr_t)m_sendcompany;
- m_pRecordset->GetFields()->GetItem("dates")->Value = (_bstr_t)dates;
- m_pRecordset->GetFields()->GetItem("rukudate")->Value = (_bstr_t)chukudate;
- m_pRecordset->GetFields()->GetItem("sendpeople")->Value = (_bstr_t)m_sendperson;
- m_pRecordset->GetFields()->GetItem("people")->Value = (_bstr_t)m_rperson;
- m_pRecordset->GetFields()->GetItem("remark")->Value = ("出库");
- m_pRecordset->GetFields()->GetItem("picture")->AppendChunk(&m_bitdata);
- m_pRecordset->Update();
- m_pRecordset->Close();
- m_pConnection->Close();
- }
- catch(...)
- {
- MessageBox("操作失败,请检查货品编号","提示");
- return;
- }
- Clear();
- enable();
- MessageBox("操作成功.");
- }
- }
- void CChuKuDlg::Clear()
- {
- m_id = "";
- m_name = "";
- m_number = 0;
- m_place = "";
- m_rperson = "";
- m_sendperson = "";
- m_sendcompany = "";
- m_type = "";
- UpdateData(false);
- }
- BOOL CChuKuDlg::OnInitDialog()
- {
- CDialog::OnInitDialog();
- // TODO: Add extra initialization here
- ::CoInitialize(NULL);
- try
- {
- m_pConnection.CreateInstance("ADODB.Connection");
- CString strConnect="Provider=Microsoft.Jet.OLEDB.4.0;
- Data Source=./cargo.mdb;Persist Security Info=False";
- m_pConnection->Open((_bstr_t)strConnect,"","",adModeUnknown);
- }
- catch(_com_error e)
- {
- AfxMessageBox("数据库连接错误",0,0);
- }
- combo();
- return TRUE; // return TRUE unless you set the focus to a control
- // EXCEPTION: OCX Property Pages should return FALSE
- }
- void CChuKuDlg::enable()
- {
- CString str;
- m_button2.GetWindowText(str);
- if(str=="出库")
- {
- GetDlgItem(IDC_Name)->EnableWindow(true);
- GetDlgItem(IDC_ID)->EnableWindow(true);
- GetDlgItem(IDC_Type)->EnableWindow(true);
- GetDlgItem(IDC_Number)->EnableWindow(true);
- GetDlgItem(IDC_Place)->EnableWindow(true);
- GetDlgItem(IDC_SendPerson)->EnableWindow(true);
- GetDlgItem(IDC_RPerson)->EnableWindow(true);
- GetDlgItem(IDC_SendCompany)->EnableWindow(true);
- GetDlgItem(IDC_ChuChangDate)->EnableWindow(true);
- GetDlgItem(IDC_ChuKuDate)->EnableWindow(true);
- m_button2.SetWindowText("保存");
- UpdateData();
- }
- else
- {
- GetDlgItem(IDC_Name)->EnableWindow(false);
- GetDlgItem(IDC_ID)->EnableWindow(false);
- GetDlgItem(IDC_Type)->EnableWindow(false);
- GetDlgItem(IDC_Number)->EnableWindow(false);
- GetDlgItem(IDC_Place)->EnableWindow(false);
- GetDlgItem(IDC_SendPerson)->EnableWindow(false);
- GetDlgItem(IDC_RPerson)->EnableWindow(false);
- GetDlgItem(IDC_SendCompany)->EnableWindow(false);
- GetDlgItem(IDC_ChuChangDate)->EnableWindow(false);
- GetDlgItem(IDC_ChuKuDate)->EnableWindow(false);
- m_button2.SetWindowText("出库");
- UpdateData();
- }
- }
- void CChuKuDlg::ExitConnect()
- {
- if(m_pRecordset!=NULL)
- m_pRecordset->Close();
- m_pConnection->Close();
- }
- void CChuKuDlg::combo()
- {
- CTyper set;
- CString sql;
- sql.Format("select * from typer");
- m_type.Empty();
- int count=0;
- CString str;
- if(set.IsOpen())
- {
- set.Close();
- return;
- }
- else
- {
- set.Open(AFX_DB_USE_DEFAULT_TYPE,sql);
- while(!set.IsEOF())
- {
- m_typer.AddString(set.m_type);
- set.MoveNext();
- }
- }
- UpdateData(false);
- }