📄 pmdoc.cpp
字号:
m_StoredProc->Parameters->CreateParameter("@PmodeDesc",ftString,pdInput,40,m_PmodeDesc);
m_StoredProc->ExecProc();
}
else
{
m_StoredProc->ProcedureName="sdPmode_Update";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@W_PmodeCode",ftString,pdInput,18,b_PmodeCode);
m_StoredProc->Parameters->CreateParameter("@PmodeCode",ftString,pdInput,18,m_PmodeCode);
m_StoredProc->Parameters->CreateParameter("@PmodeName",ftString,pdInput,20,m_PmodeName);
m_StoredProc->Parameters->CreateParameter("@PmodeDesc",ftString,pdInput,40,m_PmodeDesc);
m_StoredProc->ExecProc();
}
TsdPmode *p=new TsdPmode( );
if(CurStatus==2) {
SetActionID(1); // for browsing only
p->Assign(this);
AddRecord((void *)p,p->PmodeCode);
}
else {
SetActionID(1); // for browsing only
p->Assign(this);
ChangeRecord((void *)p,p->PmodeCode,this->b_PmodeCode);
}
}
void TsdPmode::Delete()
{
if(CurStatus!=1)
throw Exception("当前状态不能进行删除操作!");
if(m_PmodeCode.IsEmpty()==true)
throw Exception("当前没有记录可以删除!");
m_StoredProc->Close();
m_StoredProc->ProcedureName="sdPmode_Delete";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@W_PmodeCode",ftString,pdInput,18,b_PmodeCode);
m_StoredProc->ExecProc();
DeleteRecord(this->b_PmodeCode);
}
void TsdPmode::BackupValue()
{
b_PmodeCode=m_PmodeCode;
b_PmodeName=m_PmodeName;
b_PmodeDesc=m_PmodeDesc;
}
void TsdPmode::RestoreValue()
{
m_PmodeCode=b_PmodeCode;
m_PmodeName=b_PmodeName;
m_PmodeDesc=b_PmodeDesc;
}
void TsdPmode::EmptyValue(int Index)
{
switch(Index)
{
case 0:
m_PmodeCode="";
m_PmodeName="";
m_PmodeDesc="";
break;
case 1:
b_PmodeCode="";
b_PmodeName="";
b_PmodeDesc="";
break;
}
}
void TsdPmode::BatchLetValue()
{
m_PmodeCode=m_Query->FieldValues["PmodeCode"];
m_PmodeName=m_Query->FieldValues["PmodeName"];
m_PmodeDesc=m_Query->FieldValues["PmodeDesc"];
BackupValue();
}
void TsdPmode::Assign(TsdPmode *p)
{
this->SetActionID(p->CurStatus);
this->m_PmodeCode=p->m_PmodeCode;
this->m_PmodeName=p->m_PmodeName;
this->m_PmodeDesc=p->m_PmodeDesc;
this->BackupValue();
}
void TsdPmode::AssignValue()
{
TsdPmode *p=(TsdPmode *)Records(CurRecNo);
this->SetActionID(p->CurStatus);
this->m_PmodeCode=p->m_PmodeCode;
this->m_PmodeName=p->m_PmodeName;
this->m_PmodeDesc=p->m_PmodeDesc;
this->BackupValue();
}
int TsdPmode::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();
TsdPmode *p=new TsdPmode( );
SetActionID(1);
p->Assign(this);
AddRecord((void *)p,p->PmodeCode);
m_Query->Next();
}
MoveFirst();
}
m_Query->Close();
return Count;
}
bool TsdPmode::Find(AnsiString WhereStr)
{
AnsiString m_SqlStr;
if(WhereStr.IsEmpty()==true)
throw Exception("查找表达式不能为空");
m_SqlStr="SELECT * FROM SDPmode 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;
}
}
TsdPmode::~TsdPmode()
{
try{
}
catch(...)
{
throw Exception("析构函数出错");
}
}
//////////////////////////////////////////////////////
////////(TsdBuyer)采购员资料维护//////////////////////
//////////////////////////////////////////////////////
void __fastcall TsdBuyer::SetBuyerCode(AnsiString value)
{
if (value.IsEmpty() )
throw Exception("采购员编码不能为空!");
if(value.Length()>18)
throw Exception("编码长度不能大于18");
if (value.UpperCase()!=m_BuyerCode.UpperCase())
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("SELECT BuyerCode FROM SDBuyer WHERE BuyerCODE='" +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<1)
{
m_Query->Close();
throw Exception("采购员'"+value+"'不是合法的系统用户");
}
m_Query->Close();
}
m_BuyerCode = value;
}
void __fastcall TsdBuyer::SetBuyerCheck(int value)
{
if(value!=0&&value!=1)
throw Exception("审核标志只能取值0-无审核权限1-有审核权限");
m_BuyerCheck = value;
}
void __fastcall TsdBuyer::SetBuyerName(AnsiString value)
{
if(value.IsEmpty())
throw Exception("采购员名称不能为空");
if(value.Length()>20)
throw Exception("采购员名称长度不能大于20");
if (value!=m_BuyerName)
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("SELECT BuyerName FROM SDBuyer WHERE BuyerName='" +value+"'");
m_Query->Open();
if(m_Query->RecordCount>0)
{
m_Query->Close();
throw Exception("采购员名称'"+value+"'已定义");
}
m_Query->Close();
}
m_BuyerName = value;
}
void __fastcall TsdBuyer::SetBuyerTel(AnsiString value)
{
if(value.Length()>20)
throw Exception("电话长度不能大于20");
m_BuyerTel = value;
}
void __fastcall TsdBuyer::SetBuyerBeepPager(AnsiString value)
{
if(value.Length()>20)
throw Exception("呼机长度不能大于20");
m_BuyerBeepPager = value;
}
void __fastcall TsdBuyer::SetBuyerStop(int value)
{
if(value!=0&&value!=1)
throw Exception("中止权限只能取值0-无权限,1-有权限");
m_BuyerStop = value;
}
void __fastcall TsdBuyer::SetBuyerCancel(int value)
{
if(value!=0&&value!=1)
throw Exception("取消权限只能取值0-无权限1-有权限");
m_BuyerCancel = value;
}
void __fastcall TsdBuyer::SetBuyerClose(int value)
{
if(value!=0&&value!=1)
throw Exception("结清权限只能取值0-无权限1-有权限");
m_BuyerClose = value;
}
void __fastcall TsdBuyer::SetBuyerPost(int value)
{
if(value!=0&&value!=1)
throw Exception("记帐权限只能取值0-无权限1-有权限");
m_BuyerPost = value;
}
TsdBuyer::TsdBuyer(TDataComm *DC)
:TsdStandard(DC)
{
try
{
QueryString="SELECT * FROM SDBuyer";
FilterString="";
OrderString="BuyerCODE";
EmptyValue(0);
EmptyValue(1);
}
catch(Exception &e)
{
throw Exception("构造函数出错");
}
}
TsdBuyer::TsdBuyer()
:TsdStandard()
{
try
{
QueryString="SELECT * FROM SDBuyer";
FilterString="";
OrderString="BuyerCODE";
EmptyValue(0);
EmptyValue(1);
}
catch(Exception &e)
{
throw Exception("构造函数出错");
}
}
AnsiString TsdBuyer::GetFieldValue(euBuyer sdFieldName)
{
switch(sdFieldName)
{
case fiBuyerCode:
return BuyerCode;
case fiBuyerName:
return BuyerName;
case fiBuyerTel:
return BuyerTel;
case fiBuyerBeepPager:
return BuyerBeepPager;
case fiBuyerCheck:
return AnsiString(BuyerCheck);
case fiBuyerStop:
return AnsiString(BuyerStop);
case fiBuyerCancel:
return AnsiString(BuyerCancel);
case fiBuyerClose:
return AnsiString(BuyerClose);
case fiBuyerPost:
return AnsiString(BuyerPost);
default:
throw Exception("当前未定义可取值");
}
}
void TsdBuyer::SetFieldValue(euBuyer sdFieldName, AnsiString Value)
{
switch(sdFieldName)
{
case fiBuyerCode:
BuyerCode = Value;
break;
case fiBuyerName:
BuyerName = Value;
break;
case fiBuyerTel:
BuyerTel = Value;
break;
case fiBuyerBeepPager:
BuyerBeepPager = Value;
break;
case fiBuyerCheck:
BuyerCheck = Value.ToInt();
break;
case fiBuyerStop:
BuyerStop = Value.ToInt();
break;
case fiBuyerCancel:
BuyerCancel = Value.ToInt();
break;
case fiBuyerClose:
BuyerClose = Value.ToInt();
break;
case fiBuyerPost:
BuyerPost = Value.ToInt();
break;
default:
throw Exception("当前字段未定义可赋值");
}
}
void TsdBuyer::Update()
{
if(CurStatus==0||CurStatus==1)
throw Exception("当前不是编辑状态,不能进行存盘操作!");
if(m_BuyerCode.IsEmpty()==true)
throw Exception("采购员编码不能为空!");
m_StoredProc->Close();
if(CurStatus==2||CurStatus==4)
{
m_StoredProc->ProcedureName="sdBuyer_Insert";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@BuyerCode",ftString,pdInput,18,m_BuyerCode);
m_StoredProc->Parameters->CreateParameter("@BuyerName",ftString,pdInput,20,m_BuyerName);
m_StoredProc->Parameters->CreateParameter("@BuyerCheck",ftInteger,pdInput,1,m_BuyerCheck);
m_StoredProc->Parameters->CreateParameter("@BuyerStop",ftInteger,pdInput,1,m_BuyerStop);
m_StoredProc->Parameters->CreateParameter("@BuyerCancel",ftInteger,pdInput,1,m_BuyerCancel);
m_StoredProc->Parameters->CreateParameter("@BuyerClose",ftInteger,pdInput,1,m_BuyerClose);
m_StoredProc->Parameters->CreateParameter("@BuyerPost",ftInteger,pdInput,1,m_BuyerPost);
m_StoredProc->Parameters->CreateParameter("@BuyerTel",ftString,pdInput,20,m_BuyerTel);
m_StoredProc->Parameters->CreateParameter("@BuyerBeepPager",ftString,pdInput,20,m_BuyerBeepPager);
m_StoredProc->ExecProc();
}
else
{
m_StoredProc->ProcedureName="sdBuyer_Update";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@W_BuyerCode",ftString,pdInput,18,b_BuyerCode);
m_StoredProc->Parameters->CreateParameter("@BuyerCode",ftString,pdInput,18,m_BuyerCode);
m_StoredProc->Parameters->CreateParameter("@BuyerName",ftString,pdInput,20,m_BuyerName);
m_StoredProc->Parameters->CreateParameter("@BuyerCheck",ftInteger,pdInput,1,m_BuyerCheck);
m_StoredProc->Parameters->CreateParameter("@BuyerStop",ftInteger,pdInput,1,m_BuyerStop);
m_StoredProc->Parameters->CreateParameter("@BuyerCancel",ftInteger,pdInput,1,m_BuyerCancel);
m_StoredProc->Parameters->CreateParameter("@BuyerClose",ftInteger,pdInput,1,m_BuyerClose);
m_StoredProc->Parameters->CreateParameter("@BuyerPost",ftInteger,pdInput,1,m_BuyerPost);
m_StoredProc->Parameters->CreateParameter("@BuyerTel",ftString,pdInput,20,m_BuyerTel);
m_StoredProc->Parameters->CreateParameter("@BuyerBeepPager",ftString,pdInput,20,m_BuyerBeepPager);
m_StoredProc->ExecProc();
}
TsdBuyer *p=new TsdBuyer( );
if(CurStatus==2) {
SetActionID(1); // for browsing only
p->Assign(this);
AddRecord((void *)p,p->BuyerCode);
}
else {
SetActionID(1); // for browsing only
p->Assign(this);
ChangeRecord((void *)p,p->BuyerCode,this->b_BuyerCode);
}
}
void TsdBuyer::Delete()
{
if(CurStatus!=1)
throw Exception("当前状态不能进行删除操作!");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -