📄 myhead.cpp
字号:
#include "stdafx.h"
#include "myhead.h"
#include "MySqlConnect.h"
extern MySqlConnect sqlconnect;
extern _ConnectionPtr pMyConnect;
bool bSameTimeWithDBServer()
{
_RecordsetPtr m_pRs;
CString m_strSql;
_variant_t RecordsAffected;
CString str_dbservertime = _T("");
/*CTimeSpan ts = DEVIATION_TIME ; //10minute
CTime CurrentTime = CTime::GetCurrentTime();
CTime MaxTime = CurrentTime + ts;
CTime MinTime = CurrentTime - ts;
CTime DBServerTime;*/
// example for COleDateTime::GetCurrentTime
COleDateTime CurrentTime;
CurrentTime = COleDateTime::GetCurrentTime();
COleDateTimeSpan ts = DEVIATION_TIME ; //10minute
COleDateTime MaxTime = CurrentTime + ts;
COleDateTime MinTime = CurrentTime - ts;
m_strSql.Format( _T("select GETDATE()") );
m_pRs = sqlconnect.GetRecordSet( m_strSql );
if ( m_pRs->GetRecordCount() > 0 )
{
m_pRs->MoveFirst();
while(m_pRs->adoEOF==VARIANT_FALSE)
{
//Retrieve column's value:
_variant_t TheValue;
TheValue = m_pRs->Fields->GetItem(_variant_t("GETDATE()"))->Value;
if(TheValue.vt != VT_NULL)
{
_bstr_t s1=(_bstr_t)TheValue;
CString str_tmp = s1;
str_dbservertime = str_tmp;
}
//Do something what you want to do: ......
m_pRs->MoveNext();
}
}
/*try
{
m_pRs = pMyConnect->Execute( _bstr_t(m_strSql) ,&RecordsAffected,adCmdText);
if ( m_pRs->GetRecordCount() > 0 )
{
_variant_t vIndex = (long)0;
_variant_t vCount = m_pRs->GetCollect(vIndex);///取得第一个字段的值放入vCount变量
if( vCount.vt != VT_NULL )
{
_bstr_t s2=(_bstr_t)vCount;
CString str_tmp = s2;
str_dbservertime = str_tmp;
}
}
}
catch (_com_error &e)
{
::MessageBox(NULL,e.Description(),(LPCTSTR)(_T("警告")),MB_OK);
}*/
COleVariant vtime(str_dbservertime);
vtime.ChangeType(VT_DATE);// 转换
COleDateTime DBServerTime = vtime;
if(( DBServerTime <= MinTime ) || ( DBServerTime >= MaxTime ))
{
return FALSE;
}
return TRUE;
}
CString GetBrandModeNote( CString str_brand, CString str_mode )
{
_RecordsetPtr m_pRs;
CString m_strSql;
_variant_t RecordsAffected;
CString str = _T("");
m_strSql.Format( _T("select NOTE from MODE_TABLE where(BRAND='") +str_brand+ _T("' and MODE='") +str_mode+ _T("')") );
m_pRs = sqlconnect.GetRecordSet( m_strSql );
if ( m_pRs->GetRecordCount() > 0 )
{
m_pRs->MoveFirst();
while(m_pRs->adoEOF==VARIANT_FALSE)
{
//Retrieve column's value:
_variant_t TheValue;
TheValue = m_pRs->Fields->GetItem(_variant_t("NOTE"))->Value;
if(TheValue.vt != VT_NULL)
{
_bstr_t s1=(_bstr_t)TheValue;
CString str_tmp = s1;
str = str_tmp;
}
//Do something what you want to do: ......
m_pRs->MoveNext();
}
}
return str;
}
CString GetBrandModeSubType( CString str_brand, CString str_mode )
{
_RecordsetPtr m_pRs;
CString m_strSql;
_variant_t RecordsAffected;
CString str = _T("");
m_strSql.Format( _T("select STORAGE_SUBTYPE_SN from MODE_TABLE where(BRAND='") +str_brand+ _T("' and MODE='") +str_mode+ _T("')") );
m_pRs = sqlconnect.GetRecordSet( m_strSql );
if ( m_pRs->GetRecordCount() > 0 )
{
m_pRs->MoveFirst();
while(m_pRs->adoEOF==VARIANT_FALSE)
{
//Retrieve column's value:
_variant_t TheValue;
TheValue = m_pRs->Fields->GetItem(_variant_t("STORAGE_SUBTYPE_SN"))->Value;
if(TheValue.vt != VT_NULL)
{
_bstr_t s1=(_bstr_t)TheValue;
CString str_tmp = s1;
str = str_tmp;
}
//Do something what you want to do: ......
m_pRs->MoveNext();
}
}
return str;
}
CString GetSTORAGETYPESN( CString str_type )
{
_RecordsetPtr m_pRs;
CString m_strSql;
_variant_t RecordsAffected;
CString str = _T("");
m_strSql.Format( _T("select SN from IMS_STORAGE_TYPE where(NAME='") +str_type+ _T("')") );
m_pRs = sqlconnect.GetRecordSet( m_strSql );
if ( m_pRs->GetRecordCount() > 0 )
{
m_pRs->MoveFirst();
while(m_pRs->adoEOF==VARIANT_FALSE)
{
//Retrieve column's value:
_variant_t TheValue;
TheValue = m_pRs->Fields->GetItem(_variant_t("SN"))->Value;
if(TheValue.vt != VT_NULL)
{
_bstr_t s1=(_bstr_t)TheValue;
CString str_tmp = s1;
str = str_tmp;
}
//Do something what you want to do: ......
m_pRs->MoveNext();
}
}
return str;
}
CString GetSTORAGETYPENAME( CString str_typesn )
{
_RecordsetPtr m_pRs;
CString m_strSql;
_variant_t RecordsAffected;
CString str = _T("");
m_strSql.Format( _T("select NAME from IMS_STORAGE_TYPE where(SN='") +str_typesn+ _T("')") );
m_pRs = sqlconnect.GetRecordSet( m_strSql );
if ( m_pRs->GetRecordCount() > 0 )
{
m_pRs->MoveFirst();
while(m_pRs->adoEOF==VARIANT_FALSE)
{
//Retrieve column's value:
_variant_t TheValue;
TheValue = m_pRs->Fields->GetItem(_variant_t("NAME"))->Value;
if(TheValue.vt != VT_NULL)
{
_bstr_t s1=(_bstr_t)TheValue;
CString str_tmp = s1;
str = str_tmp;
}
//Do something what you want to do: ......
m_pRs->MoveNext();
}
}
return str;
}
CString GetSUBSTORAGETYPESN( CString str_typesn,CString str_subname )
{
_RecordsetPtr m_pRs;
CString m_strSql;
_variant_t RecordsAffected;
CString str = _T("");
m_strSql.Format( _T("select SN from IMS_STORAGE_SUBTYPE where(PRIMARY_SN=") +str_typesn+ _T(" and SUB_NAME='") +str_subname+ _T("')"));
m_pRs = sqlconnect.GetRecordSet( m_strSql );
if ( m_pRs->GetRecordCount() > 0 )
{
m_pRs->MoveFirst();
while(m_pRs->adoEOF==VARIANT_FALSE)
{
//Retrieve column's value:
_variant_t TheValue;
TheValue = m_pRs->Fields->GetItem(_variant_t("SN"))->Value;
if(TheValue.vt != VT_NULL)
{
_bstr_t s1=(_bstr_t)TheValue;
CString str_tmp = s1;
str = str_tmp;
}
//Do something what you want to do: ......
m_pRs->MoveNext();
}
}
return str;
}
CString GetSUBSTORAGETYPEPrimarySN( CString str_subtypesn )
{
_RecordsetPtr m_pRs;
CString m_strSql;
_variant_t RecordsAffected;
CString str = _T("");
m_strSql.Format( _T("select PRIMARY_SN from IMS_STORAGE_SUBTYPE where(SN=") +str_subtypesn+ _T(")"));
m_pRs = sqlconnect.GetRecordSet( m_strSql );
if ( m_pRs->GetRecordCount() > 0 )
{
m_pRs->MoveFirst();
while(m_pRs->adoEOF==VARIANT_FALSE)
{
//Retrieve column's value:
_variant_t TheValue;
TheValue = m_pRs->Fields->GetItem(_variant_t("PRIMARY_SN"))->Value;
if(TheValue.vt != VT_NULL)
{
_bstr_t s1=(_bstr_t)TheValue;
CString str_tmp = s1;
str = str_tmp;
}
//Do something what you want to do: ......
m_pRs->MoveNext();
}
}
return str;
}
CString GetSUBSTORAGETYPESubName( CString str_subtypesn )
{
_RecordsetPtr m_pRs;
CString m_strSql;
_variant_t RecordsAffected;
CString str = _T("");
m_strSql.Format( _T("select SUB_NAME from IMS_STORAGE_SUBTYPE where(SN=") +str_subtypesn+ _T(")"));
m_pRs = sqlconnect.GetRecordSet( m_strSql );
if ( m_pRs->GetRecordCount() > 0 )
{
m_pRs->MoveFirst();
while(m_pRs->adoEOF==VARIANT_FALSE)
{
//Retrieve column's value:
_variant_t TheValue;
TheValue = m_pRs->Fields->GetItem(_variant_t("SUB_NAME"))->Value;
if(TheValue.vt != VT_NULL)
{
_bstr_t s1=(_bstr_t)TheValue;
CString str_tmp = s1;
str = str_tmp;
}
//Do something what you want to do: ......
m_pRs->MoveNext();
}
}
return str;
}
CString GetModeSN( CString str_mode,CString str_brand )
{
_RecordsetPtr m_pRs;
CString m_strSql;
_variant_t RecordsAffected;
CString str = _T("");
m_strSql.Format( _T("select SN from MODE_TABLE where(BRAND='") +str_brand+ _T("' and MODE='") +str_mode+ _T("')"));
m_pRs = sqlconnect.GetRecordSet( m_strSql );
if ( m_pRs->GetRecordCount() > 0 )
{
m_pRs->MoveFirst();
while(m_pRs->adoEOF==VARIANT_FALSE)
{
//Retrieve column's value:
_variant_t TheValue;
TheValue = m_pRs->Fields->GetItem(_variant_t("SN"))->Value;
if(TheValue.vt != VT_NULL)
{
_bstr_t s1=(_bstr_t)TheValue;
CString str_tmp = s1;
str = str_tmp;
}
//Do something what you want to do: ......
m_pRs->MoveNext();
}
}
return str;
}
bool bFloatNumber( CString str_num )
{
bool bFloatNumber = FALSE;
int len = str_num.GetLength();
if( len == 0 )
{
AfxMessageBox(_T("检查字符是否数字:串为空!"));
return false;
}
if( len > 1 )
{
AfxMessageBox(_T("检检查字符是否数字:串长度大于1!"));
return false;
}
if( str_num == _T("0") )
{
bFloatNumber = TRUE;
}
if( str_num == _T("1") )
{
bFloatNumber = TRUE;
}
if( str_num == _T("2") )
{
bFloatNumber = TRUE;
}
if( str_num == _T("3") )
{
bFloatNumber = TRUE;
}
if( str_num == _T("4") )
{
bFloatNumber = TRUE;
}
if( str_num == _T("5") )
{
bFloatNumber = TRUE;
}
if( str_num == _T("6") )
{
bFloatNumber = TRUE;
}
if( str_num == _T("7") )
{
bFloatNumber = TRUE;
}
if( str_num == _T("8") )
{
bFloatNumber = TRUE;
}
if( str_num == _T("9") )
{
bFloatNumber = TRUE;
}
if( str_num == _T(".") )
{
bFloatNumber = TRUE;
}
return bFloatNumber;
}
bool bFloatFormat( CString str_num )
{
bool bFloatFormat = TRUE;
CString str_temp;
int number = 0;
int len = str_num.GetLength();
if( len == 0 )
{
AfxMessageBox(_T("检查数字字符是否符合格式:串为空!"));
return false;
}
for(int i = 0; i < len; i++)
{
str_temp = str_num.Mid( i,1 );
if ( !bFloatNumber( str_temp ) )
{
bFloatFormat = FALSE;
AfxMessageBox(_T("请输入数字!"));
return bFloatFormat;
}
}
for(int i = 0; i < len; i++)
{
str_temp = str_num.Mid( i,1 );
if( str_temp == _T(".") )
{
number++;
}
}
if( number > 1 )
{
bFloatFormat = FALSE;
AfxMessageBox(_T("只能有一个小数点!"));
return bFloatFormat;
}
for(int i = 0; i < len; i++)
{
str_temp = str_num.Mid( i,1 );
if( str_temp == _T(".") )
{
if( len > ( 3 + i ) )
{
bFloatFormat = FALSE;
AfxMessageBox(_T("只能有两位小数!"));
return bFloatFormat;
}
}
}
return bFloatFormat;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -