📄 gongjiangongyidlg.cpp
字号:
// gongjiangongyidlg.cpp : implementation file
//
#include "stdafx.h"
#include "flexible.h"
#include "gongjiangongyidlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// Cgongjiangongyidlg dialog
Cgongjiangongyidlg::Cgongjiangongyidlg(CWnd* pParent /*=NULL*/)
: CDialog(Cgongjiangongyidlg::IDD, pParent)
{
//{{AFX_DATA_INIT(Cgongjiangongyidlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
void Cgongjiangongyidlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(Cgongjiangongyidlg)
// NOTE: the ClassWizard will add DDX and DDV calls here
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(Cgongjiangongyidlg, CDialog)
//{{AFX_MSG_MAP(Cgongjiangongyidlg)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// Cgongjiangongyidlg message handlers
void Cgongjiangongyidlg::OnOK()
{
CString strSQL1;
strSQL1="select 工件一 from 工件工艺表";
int j1=0;
//打开记录集 选择表名
if(!OpenRecordSet(m_pRecordset,strSQL1))
{
AfxMessageBox("没有成功打开数据表");
return;
}
if(!m_pRecordset->BOF)
{
m_pRecordset->MoveFirst();
}
while(!m_pRecordset->adoEOF)
{
gongyi[0][j1]=atoi(VariantToCString(m_pRecordset->GetCollect("工件一")));
j1++;
m_pRecordset->MoveNext();
}
//关闭
m_pRecordset->Close();
m_pRecordset=NULL;
////////////////////////////////////////////////////////////////////////////////////////////////
CString strSQL2;
strSQL2="select 工件二 from 工件工艺表";
int j2=0;
//打开记录集 选择表名
if(!OpenRecordSet(m_pRecordset,strSQL2))
{
AfxMessageBox("没有成功打开数据表");
return;
}
if(!m_pRecordset->BOF)
{
m_pRecordset->MoveFirst();
}
while(!m_pRecordset->adoEOF)
{
gongyi[1][j2]=atoi(VariantToCString(m_pRecordset->GetCollect("工件二")));
j2++;
m_pRecordset->MoveNext();
}
//关闭
m_pRecordset->Close();
m_pRecordset=NULL;
/////////////////////////////////////////////////////////////////////////////////////////////////
CString strSQL3;
strSQL3="select 工件三 from 工件工艺表";
int j3=0;
//打开记录集 选择表名
if(!OpenRecordSet(m_pRecordset,strSQL3))
{
AfxMessageBox("没有成功打开数据表");
return;
}
if(!m_pRecordset->BOF)
{
m_pRecordset->MoveFirst();
}
while(!m_pRecordset->adoEOF)
{
gongyi[2][j3]=atoi(VariantToCString(m_pRecordset->GetCollect("工件三")));
j3++;
m_pRecordset->MoveNext();
}
//关闭
m_pRecordset->Close();
m_pRecordset=NULL;
//////////////////////////////////////////////////////////////////////////////////////////////////////
CString strSQL4;
strSQL4="select 工件四 from 工件工艺表";
int j4=0;
//打开记录集 选择表名
if(!OpenRecordSet(m_pRecordset,strSQL4))
{
AfxMessageBox("没有成功打开数据表");
return;
}
if(!m_pRecordset->BOF)
{
m_pRecordset->MoveFirst();
}
while(!m_pRecordset->adoEOF)
{
gongyi[3][j4]=atoi(VariantToCString(m_pRecordset->GetCollect("工件四")));
j4++;
m_pRecordset->MoveNext();
}
//关闭
m_pRecordset->Close();
m_pRecordset=NULL;
/////////////////////////////////////////////////////////////////////////////////////////////////////
CString strSQL5;
strSQL5="select 工件五 from 工件工艺表";
int j5=0;
//打开记录集 选择表名
if(!OpenRecordSet(m_pRecordset,strSQL5))
{
AfxMessageBox("没有成功打开数据表");
return;
}
if(!m_pRecordset->BOF)
{
m_pRecordset->MoveFirst();
}
while(!m_pRecordset->adoEOF)
{
gongyi[4][j5]=atoi(VariantToCString(m_pRecordset->GetCollect("工件五")));
j5++;
m_pRecordset->MoveNext();
}
//关闭
m_pRecordset->Close();
m_pRecordset=NULL;
///////////////////////////////////////////////////////////////////////////////////////////////
CString strSQL6;
strSQL6="select 工件六 from 工件工艺表";
int j6=0;
//打开记录集 选择表名
if(!OpenRecordSet(m_pRecordset,strSQL6))
{
AfxMessageBox("没有成功打开数据表");
return;
}
if(!m_pRecordset->BOF)
{
m_pRecordset->MoveFirst();
}
while(!m_pRecordset->adoEOF)
{
gongyi[5][j6]=atoi(VariantToCString(m_pRecordset->GetCollect("工件六")));
j6++;
m_pRecordset->MoveNext();
}
//关闭
m_pRecordset->Close();
m_pRecordset=NULL;
///////////////////////////////////////////////////////////////////////////////////////////////////
CString strSQL7;
strSQL7="select 工件七 from 工件工艺表";
int j7=0;
//打开记录集 选择表名
if(!OpenRecordSet(m_pRecordset,strSQL7))
{
AfxMessageBox("没有成功打开数据表");
return;
}
if(!m_pRecordset->BOF)
{
m_pRecordset->MoveFirst();
}
while(!m_pRecordset->adoEOF)
{
gongyi[6][j7]=atoi(VariantToCString(m_pRecordset->GetCollect("工件七")));
j7++;
m_pRecordset->MoveNext();
}
//关闭
m_pRecordset->Close();
m_pRecordset=NULL;
//////////////////////////////////////////////////////////////////////////////////////////////////
CString strSQL8;
strSQL8="select 工件八 from 工件工艺表";
int j8=0;
//打开记录集 选择表名
if(!OpenRecordSet(m_pRecordset,strSQL8))
{
AfxMessageBox("没有成功打开数据表");
return;
}
if(!m_pRecordset->BOF)
{
m_pRecordset->MoveFirst();
}
while(!m_pRecordset->adoEOF)
{
gongyi[7][j8]=atoi(VariantToCString(m_pRecordset->GetCollect("工件八")));
j8++;
m_pRecordset->MoveNext();
}
//关闭
m_pRecordset->Close();
m_pRecordset=NULL;
//////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
for(int i=0;i<10;i++)
{
for(int j=0;j<9;j++)
{
if(gongyi[i][j]!=0)
{
num_gongyi[i]+=1;
}
else{}
}
}
CDialog::OnOK();
}
BOOL Cgongjiangongyidlg::OpenRecordSet(_RecordsetPtr &recPtr, CString &strSQL)
{
CFlexibleApp* pApp=(CFlexibleApp*)AfxGetApp();
//创建记录集对象
m_pRecordset.CreateInstance(__uuidof(Recordset));
//在ADO操作中建议语句中要常用try...catch()来捕获错误信息,
//因为它有时会经常出现一些想不到的错误
try
{
//从数据库中打开表
recPtr->Open(strSQL.AllocSysString(),
pApp->m_pConnection.GetInterfacePtr(),
adOpenDynamic,
adLockOptimistic,
adCmdText);
}
catch (_com_error e)
{
CString strError;
strError.Format("警告: 打开数据表时发生异常。 错误信息: %s",\
e.ErrorMessage());
AfxMessageBox(strError);
return FALSE;
}
return TRUE;
}
CString Cgongjiangongyidlg::VariantToCString(const _variant_t &var)
{
CString strValue;
switch (var.vt)
{
case VT_BSTR://字符串
case VT_LPSTR:
case VT_LPWSTR:
strValue = (LPCTSTR)(_bstr_t)var;
break;
case VT_I1://无符号字符
case VT_UI1:
strValue.Format("%d", var.bVal);
break;
case VT_I2://短整型
strValue.Format("%d", var.iVal);
break;
case VT_UI2://无符号短整型
strValue.Format("%d", var.uiVal);
break;
case VT_INT://整型
strValue.Format("%d", var.intVal);
break;
case VT_I4: //整型
case VT_I8: //长整型
strValue.Format("%d", var.lVal);
break;
case VT_UINT://无符号整型
strValue.Format("%d", var.uintVal);
break;
case VT_UI4: //无符号整型
case VT_UI8: //无符号长整型
strValue.Format("%d", var.ulVal);
break;
case VT_VOID:
strValue.Format("%8x", var.byref);
break;
case VT_R4://浮点型
strValue.Format("%.4f", var.fltVal);
break;
case VT_R8://双精度型
strValue.Format("%.8f", var.dblVal);
break;
case VT_DECIMAL: //小数
strValue.Format("%.8f", (double)var);
break;
case VT_CY:
{
COleCurrency cy = var.cyVal;
strValue = cy.Format();
}
break;
case VT_BLOB:
case VT_BLOB_OBJECT:
case 0x2011:
strValue = "[BLOB]";
break;
case VT_BOOL://布尔型
strValue = var.boolVal ? "TRUE" : "FALSE";
break;
case VT_DATE: //日期型
{
DATE dt = var.date;
COleDateTime da = COleDateTime(dt);
strValue = da.Format("%Y-%m-%d %H:%M:%S");
}
break;
case VT_NULL://NULL值
case VT_EMPTY://空
strValue = "";
break;
case VT_UNKNOWN://未知类型
default:
strValue = "UN_KNOW";
break;
}
return strValue;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -