📄 smdoc.cpp
字号:
if(value.Length()>18)
throw Exception("运输方式长度不能大于18");
if(value.IsEmpty()==false && value!=m_SsiteTransMode)
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("select transmodecode from sdtransmode where transmodecode='"+value+"'");
m_Query->Open();
if(m_Query->RecordCount<=0)
{
m_Query->Close();
throw Exception("运输方式:'"+value+"'未定义");
}
m_Query->Close();
}
m_SsiteTransMode=value;
}
//---------------------------------------------------------------------------
TsdSsite::TsdSsite(TDataComm *DC)
:TsdStandard(DC)
{
try
{
QueryString="SELECT * FROM sdSsite";
FilterString="";
OrderString=" SsiteCode";
EmptyValue(0);
EmptyValue(1);
}
catch(Exception &e)
{
throw Exception("初始化出错");
}
}
TsdSsite::TsdSsite()
:TsdStandard()
{
try
{
QueryString="SELECT * FROM sdSsite";
FilterString="";
OrderString=" SsiteCode";
EmptyValue(0);
EmptyValue(1);
}
catch(Exception &e)
{
throw Exception("初始化出错");
}
}
//---------------------------------------------------------------------------
AnsiString TsdSsite::GetFieldValue(euSsite sdFieldName)
{
switch(sdFieldName)
{
case fiSsiteCode:
return SsiteCode;
case fiSsiteClient:
return SsiteClient;
case fiSsiteName:
return SsiteName;
case fiSsiteAddr:
return SsiteAddr;
case fiSsiteLinkman:
return SsiteLinkman;
case fiSsiteTel:
return SsiteTel;
case fiSsiteFax:
return SsiteFax;
case fiSsiteZip:
return SsiteZip;
case fiSsiteEmail:
return SsiteEmail;
case fiSsiteTransMode:
return SsiteTransMode;
default:
throw Exception("当前字段未定义可取值");
}
}
//---------------------------------------------------------------------------
void TsdSsite::SetFieldValue(euSsite sdFieldName, AnsiString Value)
{
Value=Trim(Value);
switch(sdFieldName)
{
case fiSsiteCode:
SsiteCode=Value;
break;
case fiSsiteClient:
SsiteClient=Value;
break;
case fiSsiteName:
SsiteName=Value;
break;
case fiSsiteAddr:
SsiteAddr=Value;
break;
case fiSsiteLinkman:
SsiteLinkman=Value;
break;
case fiSsiteTel:
SsiteTel=Value;
break;
case fiSsiteFax:
SsiteFax=Value;
break;
case fiSsiteZip:
SsiteZip=Value;
break;
case fiSsiteEmail:
SsiteEmail=Value;
break;
case fiSsiteTransMode:
SsiteTransMode=Value;
break;
default:
throw Exception("当前字段未定义可赋值");
}
}
//---------------------------------------------------------------------------
void TsdSsite::Update()
{
if(CurStatus==0||CurStatus==1)
throw Exception("当前不是编辑状态,不能进行存盘操作!");
if(m_SsiteCode.IsEmpty()==true)
throw Exception("客户的交货地点编码不能为空!");
m_StoredProc->Close();
if(CurStatus==2||CurStatus==4)
{
m_StoredProc->ProcedureName="sdSsite_Insert";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@SsiteCode",ftString,pdInputOutput,18,m_SsiteCode);
m_StoredProc->Parameters->CreateParameter("@SsiteClient",ftString,pdInput,18,m_SsiteClient);
m_StoredProc->Parameters->CreateParameter("@SsiteName",ftString,pdInput,20,m_SsiteName);
m_StoredProc->Parameters->CreateParameter("@SsiteAddr",ftString,pdInput,40,m_SsiteAddr);
m_StoredProc->Parameters->CreateParameter("@SsiteLinkman",ftString,pdInput,10,m_SsiteLinkman);
m_StoredProc->Parameters->CreateParameter("@SsiteTel",ftString,pdInput,18,m_SsiteTel);
m_StoredProc->Parameters->CreateParameter("@SsiteFax",ftString,pdInput,18,m_SsiteFax);
m_StoredProc->Parameters->CreateParameter("@SsiteZip",ftString,pdInput,6,m_SsiteZip);
m_StoredProc->Parameters->CreateParameter("@SsiteEmail",ftString,pdInput,20,m_SsiteEmail);
m_StoredProc->Parameters->CreateParameter("@SsiteTransMode",ftString,pdInput,18,m_SsiteTransMode);
m_StoredProc->ExecProc();
m_SsiteCode=m_StoredProc->Parameters->ParamValues["@SsiteCode"];
}
else
{
m_StoredProc->ProcedureName="sdSsite_Update";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@W_SsiteCode",ftString,pdInput,18,b_SsiteCode);
m_StoredProc->Parameters->CreateParameter("@W_SsiteClient",ftString,pdInput,18,b_SsiteClient);
m_StoredProc->Parameters->CreateParameter("@SsiteCode",ftString,pdInput,18,m_SsiteCode);
m_StoredProc->Parameters->CreateParameter("@SsiteName",ftString,pdInput,20,m_SsiteName);
m_StoredProc->Parameters->CreateParameter("@SsiteAddr",ftString,pdInput,40,m_SsiteAddr);
m_StoredProc->Parameters->CreateParameter("@SsiteLinkman",ftString,pdInput,10,m_SsiteLinkman);
m_StoredProc->Parameters->CreateParameter("@SsiteTel",ftString,pdInput,18,m_SsiteTel);
m_StoredProc->Parameters->CreateParameter("@SsiteFax",ftString,pdInput,18,m_SsiteFax);
m_StoredProc->Parameters->CreateParameter("@SsiteZip",ftString,pdInput,6,m_SsiteZip);
m_StoredProc->Parameters->CreateParameter("@SsiteEmail",ftString,pdInput,20,m_SsiteEmail);
m_StoredProc->Parameters->CreateParameter("@SsiteTransMode",ftString,pdInput,18,m_SsiteTransMode);
m_StoredProc->ExecProc();
}
m_StoredProc->Close();
TsdSsite *p=new TsdSsite();
if(CurStatus==2)
{
SetActionID(1);
p->Assign(this);
AddRecord((void *)p,p->SsiteClient+p->SsiteCode);
}
else
{
SetActionID(1);
p->Assign(this);
ChangeRecord((void *)p,p->SsiteClient+p->SsiteCode,this->b_SsiteClient+this->b_SsiteCode);
}
}
//---------------------------------------------------------------------------
void TsdSsite::Delete()
{
if(CurStatus!=1)
throw Exception("当前状态不能进行删除操作!");
if(m_SsiteCode.IsEmpty()==true)
throw Exception("当前没有记录可以删除!");
m_StoredProc->Close();
m_StoredProc->ProcedureName="sdSsite_Delete";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@W_SsiteCode",ftString,pdInput,18,b_SsiteCode);
m_StoredProc->Parameters->CreateParameter("@W_SsiteClient",ftString,pdInput,18,b_SsiteClient);
m_StoredProc->ExecProc();
m_StoredProc->Close();
DeleteRecord(this->b_SsiteClient+this->b_SsiteCode);
}
//---------------------------------------------------------------------------
void TsdSsite::BackupValue()
{
b_SsiteCode = m_SsiteCode;
b_SsiteClient = m_SsiteClient;
b_SsiteName = m_SsiteName;
b_SsiteAddr = m_SsiteAddr;
b_SsiteLinkman = m_SsiteLinkman;
b_SsiteTel = m_SsiteTel;
b_SsiteFax = m_SsiteFax;
b_SsiteZip = m_SsiteZip;
b_SsiteEmail = m_SsiteEmail;
b_SsiteTransMode= m_SsiteTransMode;
}
//---------------------------------------------------------------------------
void TsdSsite::RestoreValue()
{
m_SsiteCode = b_SsiteCode;
m_SsiteClient = b_SsiteClient;
m_SsiteName = b_SsiteName;
m_SsiteAddr = b_SsiteAddr;
m_SsiteLinkman = b_SsiteLinkman;
m_SsiteTel = b_SsiteTel;
m_SsiteFax = b_SsiteFax;
m_SsiteZip = b_SsiteZip;
m_SsiteEmail = b_SsiteEmail;
m_SsiteTransMode= b_SsiteTransMode;
}
//---------------------------------------------------------------------------
void TsdSsite::EmptyValue(int Index)
{
switch(Index)
{
case 0:
m_SsiteCode = "";
m_SsiteClient = "";
m_SsiteName = "";
m_SsiteAddr = "";
m_SsiteLinkman = "";
m_SsiteTel = "";
m_SsiteFax = "";
m_SsiteZip = "";
m_SsiteEmail = "";
m_SsiteTransMode= "";
break;
case 1:
b_SsiteCode = "";
b_SsiteClient = "";
b_SsiteName = "";
b_SsiteAddr = "";
b_SsiteLinkman = "";
b_SsiteTel = "";
b_SsiteFax = "";
b_SsiteZip = "";
b_SsiteEmail = "";
b_SsiteTransMode = "";
break;
}
}
//---------------------------------------------------------------------------
void TsdSsite::BatchLetValue()
{
m_SsiteCode = m_Query->FieldValues["SsiteCode"];
m_SsiteClient = m_Query->FieldValues["SsiteClient"];
m_SsiteName = m_Query->FieldValues["SsiteName"];
m_SsiteAddr = m_Query->FieldValues["SsiteAddr"];
m_SsiteLinkman = m_Query->FieldValues["SsiteLinkman"];
m_SsiteTel = m_Query->FieldValues["SsiteTel"];
m_SsiteFax = m_Query->FieldValues["SsiteFax"];
m_SsiteZip = m_Query->FieldValues["SsiteZip"];
m_SsiteEmail = m_Query->FieldValues["SsiteEmail"];
m_SsiteTransMode = m_Query->FieldValues["SsiteTransMode"];
BackupValue();
}
//---------------------------------------------------------------------------
void TsdSsite::Assign(TsdSsite *p)
{
this->SetActionID(p->CurStatus);
this->m_SsiteCode = p->m_SsiteCode;
this->m_SsiteClient = p->m_SsiteClient;
this->m_SsiteName = p->m_SsiteName;
this->m_SsiteAddr = p->m_SsiteAddr;
this->m_SsiteLinkman = p->m_SsiteLinkman;
this->m_SsiteTel = p->m_SsiteTel;
this->m_SsiteFax = p->m_SsiteFax;
this->m_SsiteZip = p->m_SsiteZip;
this->m_SsiteEmail = p->m_SsiteEmail;
this->m_SsiteTransMode = p->m_SsiteTransMode;
this->BackupValue();
}
//---------------------------------------------------------------------------
void TsdSsite::AssignValue()
{
TsdSsite *p=(TsdSsite *)Records(CurRecNo);
Assign(p);
}
//---------------------------------------------------------------------------
int TsdSsite::Query()
{
AnsiString m_SqlStr;
m_SqlStr=QueryString;
if(FilterString.IsEmpty()==false)
m_SqlStr=m_SqlStr+" where "+FilterString;
if(OrderString.IsEmpty()==false)
m_SqlStr=m_SqlStr+" Order by "+OrderString;
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add(m_SqlStr);
m_Query->Open();
ClearRecord();
if(m_Query->RecordCount>0)
{
m_Query->First();
while(!m_Query->Eof)
{
BatchLetValue();
TsdSsite *p=new TsdSsite();
SetActionID(1);
p->Assign(this);
AddRecord((void *)p,p->SsiteClient+p->SsiteCode);
m_Query->Next();
}
MoveFirst();
}
m_Query->Close();
return Count;
}
//---------------------------------------------------------------------------
bool TsdSsite::Find(AnsiString WhereStr)
{
AnsiString m_SqlStr;
if(WhereStr.IsEmpty()==true)
throw Exception("查找表达式不能为空");
m_SqlStr="SELECT * FROM SDSsite WHERE "+WhereStr;
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add(m_SqlStr);
m_Query->Open();
if(m_Query->RecordCount!=1)
{
m_Query->Close();
return false;
}
else
{
BatchLetValue();
m_Query->Close();
return true;
}
}
//---------------------------------------------------------------------------
TsdSsite::~TsdSsite()
{
try{
}
catch(...)
{
throw Exception("析构函数出错");
}
}
//====================================================================
// (TsdSaler)销售员资料
//===================================================================
void __fastcall TsdSaler::SetSalerCode(AnsiString value)
{
if (value.IsEmpty() )
throw Exception("销售员编码不能为空!");
if(value.Length()>18)
throw Exception("销售员编码长度不能大于18");
if (value.UpperCase()!=m_SalerCode.UpperCase())
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("SELECT SalerCode FROM SDSaler WHERE SalerCODE='" +value+"'");
m_Query->Open();
if(m_Query->RecordCount>0)
{
m_Query->Close();
throw Exception("销售员编码'"+value+"'已存在");
}
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("Select usercode from sduser where usercode='"+value+"'");
m_Query->Open();
if(m_Query->RecordCount<=0)
{
m_Query->Close();
throw Exception("操作员:'"+value+"'未定义");
}
m_Query->Close();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -