📄 rpt.cpp
字号:
case fiRptTempletdFlg:
RptTempletdFlg=value.ToInt();
break;
case fiRptTempletdExpr:
RptTempletdExpr=value;
break;
case fiRptTempletdWidth:
RptTempletdWidth=value.ToInt();
break;
case fiRptTempletdScale:
RptTempletdScale=value.ToInt();
break;
case fiRptTempletdNo:
RptTempletdNo=value.ToInt();
break;
default:
throw Exception("当前字段未定义可赋值");
}
}
//---------------------------------------------------------------------------
TsdRptTempletd::TsdRptTempletd(TDataComm *DC)
:TsdDetail(DC)
{
try
{
/* m_Query=new TQuery(Application);
m_Query->SessionName=pSessionName;
m_Query->DatabaseName=pDatabaseName;
m_StoredProc=new TStoredProc(Application);
m_StoredProc->SessionName =pSessionName;
m_StoredProc->DatabaseName=pDatabaseName;
m_SessionName=pSessionName;
m_DatabaseName=pDatabaseName;*/
QueryString="SELECT * FROM sdRptTempletd";
FilterString="";
OrderString="RptTempletdNo";
EmptyValue(0);
EmptyValue(1);
}
catch(Exception &e)
{
ShowMessage(e.Message);
}
}
TsdRptTempletd::TsdRptTempletd()
:TsdDetail()
{
try
{
/* m_Query=new TQuery(Application);
m_Query->SessionName=pSessionName;
m_Query->DatabaseName=pDatabaseName;
m_StoredProc=new TStoredProc(Application);
m_StoredProc->SessionName =pSessionName;
m_StoredProc->DatabaseName=pDatabaseName;
m_SessionName=pSessionName;
m_DatabaseName=pDatabaseName;*/
QueryString="SELECT * FROM sdRptTempletd";
FilterString="";
OrderString="RptTempletdNo";
EmptyValue(0);
EmptyValue(1);
}
catch(Exception &e)
{
ShowMessage(e.Message);
}
}
//---------------------------------------------------------------------------
TsdRptTempletd::~TsdRptTempletd()
{
try{
// delete m_Query;
// delete m_StoredProc;
}
catch(...)
{
throw Exception("析构函数出错");
}
}
//---------------------------------------------------------------------------
void TsdRptTempletd::BackupValue()
{
b_RptTempletdCode=m_RptTempletdCode;
b_RptTempletdField=m_RptTempletdField;
b_RptTempletdName=m_RptTempletdName;
b_RptTempletdDesc=m_RptTempletdDesc;
b_RptTempletdType=m_RptTempletdType;
b_RptTempletdFlg=m_RptTempletdFlg;
b_RptTempletdExpr=m_RptTempletdExpr;
b_RptTempletdWidth=m_RptTempletdWidth;
b_RptTempletdScale=m_RptTempletdScale;
b_RptTempletdNo=m_RptTempletdNo;
}
//---------------------------------------------------------------------------
void TsdRptTempletd::RestoreValue()
{
m_RptTempletdCode=b_RptTempletdCode;
m_RptTempletdField=b_RptTempletdField;
m_RptTempletdName=b_RptTempletdName;
m_RptTempletdDesc=b_RptTempletdDesc;
m_RptTempletdType=b_RptTempletdType;
m_RptTempletdFlg=b_RptTempletdFlg;
m_RptTempletdExpr=b_RptTempletdExpr;
m_RptTempletdWidth=b_RptTempletdWidth;
m_RptTempletdScale=b_RptTempletdScale;
m_RptTempletdNo=b_RptTempletdNo;
}
//---------------------------------------------------------------------------
void TsdRptTempletd::EmptyValue(int Index)
{
switch(Index)
{
case 0:
m_RptTempletdCode="";
m_RptTempletdField="";
m_RptTempletdName="";
m_RptTempletdDesc="";
m_RptTempletdType="";
m_RptTempletdFlg=0;
m_RptTempletdExpr="";
m_RptTempletdWidth=0;
m_RptTempletdScale=0;
m_RptTempletdNo=0;
break;
case 1:
b_RptTempletdCode="";
b_RptTempletdField="";
b_RptTempletdName="";
b_RptTempletdDesc="";
b_RptTempletdType="";
b_RptTempletdFlg=0;
b_RptTempletdExpr="";
b_RptTempletdWidth=0;
b_RptTempletdScale=0;
b_RptTempletdNo=0;
break;
}
}
//---------------------------------------------------------------------------
void TsdRptTempletd::BatchLetValue()
{
m_RptTempletdCode=m_Query->FieldValues["RptTempletdCode"];
m_RptTempletdField=m_Query->FieldValues["RptTempletdField"];
m_RptTempletdName=m_Query->FieldValues["RptTempletdName"];
m_RptTempletdDesc=m_Query->FieldValues["RptTempletdDesc"];
m_RptTempletdType=m_Query->FieldValues["RptTempletdType"];
m_RptTempletdFlg=m_Query->FieldValues["RptTempletdFlg"];
m_RptTempletdExpr=m_Query->FieldValues["RptTempletdExpr"];
m_RptTempletdWidth=m_Query->FieldValues["RptTempletdWidth"];
m_RptTempletdScale=m_Query->FieldValues["RptTempletdScale"];
m_RptTempletdNo=m_Query->FieldValues["RptTempletdNo"];
BackupValue();
}
//---------------------------------------------------------------------------
void TsdRptTempletd::Update()
{
if(CurStatus==0||CurStatus==1)
throw Exception("当前不是编辑状态,不能进行存盘操作!");
if(m_RptTempletdField<=0)
throw Exception("字段名不能为空!");
if(m_RptTempletdCode.IsEmpty()==true)
throw Exception("模板名不能为空!");
m_StoredProc->Close();
switch(CurStatus)
{
case 2:
case 4:
m_StoredProc->ProcedureName="sdRptTempletd_Insert";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@RptTempletdCode",ftString,pdInput,18,m_RptTempletdCode);
m_StoredProc->Parameters->CreateParameter("@RptTempletdField",ftString,pdInput,20,m_RptTempletdField);
m_StoredProc->Parameters->CreateParameter("@RptTempletdName",ftString,pdInput,20,m_RptTempletdName);
m_StoredProc->Parameters->CreateParameter("@RptTempletdDesc",ftString,pdInput,40,m_RptTempletdDesc);
m_StoredProc->Parameters->CreateParameter("@RptTempletdType",ftString,pdInput,1,m_RptTempletdType);
m_StoredProc->Parameters->CreateParameter("@RptTempletdFlg",ftInteger,pdInput,1,m_RptTempletdFlg);
m_StoredProc->Parameters->CreateParameter("@RptTempletdExpr",ftString,pdInput,255,m_RptTempletdExpr);
m_StoredProc->Parameters->CreateParameter("@RptTempletdWidth",ftInteger,pdInput,10,m_RptTempletdWidth);
m_StoredProc->Parameters->CreateParameter("@RptTempletdScale",ftInteger,pdInput,10,m_RptTempletdScale);
m_StoredProc->Parameters->CreateParameter("@RptTempletdNo",ftInteger,pdInput,10,m_RptTempletdNo);
m_StoredProc->ExecProc();
break;
case 3:
m_StoredProc->ProcedureName="sdRptTempletd_Update";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@W_RptTempletdCode",ftString,pdInput,18,b_RptTempletdCode);
m_StoredProc->Parameters->CreateParameter("@W_RptTempletdField",ftString,pdInput,20,b_RptTempletdField);
m_StoredProc->Parameters->CreateParameter("@RptTempletdField",ftString,pdInput,20,m_RptTempletdField);
m_StoredProc->Parameters->CreateParameter("@RptTempletdName",ftString,pdInput,20,m_RptTempletdName);
m_StoredProc->Parameters->CreateParameter("@RptTempletdDesc",ftString,pdInput,40,m_RptTempletdDesc);
m_StoredProc->Parameters->CreateParameter("@RptTempletdType",ftString,pdInput,1,m_RptTempletdType);
m_StoredProc->Parameters->CreateParameter("@RptTempletdFlg",ftInteger,pdInput,1,m_RptTempletdFlg);
m_StoredProc->Parameters->CreateParameter("@RptTempletdExpr",ftString,pdInput,255,m_RptTempletdExpr);
m_StoredProc->Parameters->CreateParameter("@RptTempletdWidth",ftInteger,pdInput,10,m_RptTempletdWidth);
m_StoredProc->Parameters->CreateParameter("@RptTempletdScale",ftInteger,pdInput,10,m_RptTempletdScale);
m_StoredProc->Parameters->CreateParameter("@RptTempletdNo",ftInteger,pdInput,10,m_RptTempletdNo);
m_StoredProc->ExecProc();
break;
}
TsdRptTempletd *p=new TsdRptTempletd();
SetActionID(1);
p->Assign(this);
ChangeRecord((void *)p,p->RptTempletdField,this->RptTempletdField);
}
//---------------------------------------------------------------------------
void TsdRptTempletd::Delete()
{
if(CurStatus!=1)
throw Exception("当前状态不能进行删除操作!");
if(m_RptTempletdCode.IsEmpty()==true)
throw Exception("当前没有记录可以删除!");
m_StoredProc->Close();
m_StoredProc->ProcedureName="sdRptTempletd_Delete";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@W_RptTempletdCode",ftString,pdInput,18,b_RptTempletdCode);
m_StoredProc->Parameters->CreateParameter("@W_RptTempletdField",ftString,pdInput,20,b_RptTempletdField);
m_StoredProc->ExecProc();
DeleteRecord(this->b_RptTempletdField);
}
//---------------------------------------------------------------------------
void TsdRptTempletd::Assign(TsdRptTempletd *p)
{
this->SetActionID(p->CurStatus);
this->m_RptTempletdCode=p->m_RptTempletdCode;
this->m_RptTempletdField=p->m_RptTempletdField;
this->m_RptTempletdName=p->m_RptTempletdName;
this->m_RptTempletdDesc=p->m_RptTempletdDesc;
this->m_RptTempletdType=p->m_RptTempletdType;
this->m_RptTempletdFlg=p->m_RptTempletdFlg;
this->m_RptTempletdExpr=p->m_RptTempletdExpr;
this->m_RptTempletdWidth=p->m_RptTempletdWidth;
this->m_RptTempletdScale=p->m_RptTempletdScale;
this->m_RptTempletdNo=p->m_RptTempletdNo;
if(CurStatus==3)
{
this->b_RptTempletdCode=p->b_RptTempletdCode;
this->b_RptTempletdField=p->b_RptTempletdField;
this->b_RptTempletdName=p->b_RptTempletdName;
this->b_RptTempletdDesc=p->b_RptTempletdDesc;
this->b_RptTempletdType=p->b_RptTempletdType;
this->b_RptTempletdFlg=p->b_RptTempletdFlg;
this->b_RptTempletdExpr=p->b_RptTempletdExpr;
this->b_RptTempletdWidth=p->b_RptTempletdWidth;
this->b_RptTempletdScale=p->b_RptTempletdScale;
this->b_RptTempletdNo=p->b_RptTempletdNo;
}
else
this->BackupValue();
}
//---------------------------------------------------------------------------
void TsdRptTempletd::AssignValue()
{
TsdRptTempletd *p=(TsdRptTempletd *)Records(CurRecNo);
Assign(p);
}
//---------------------------------------------------------------------------
int TsdRptTempletd::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();
TsdRptTempletd *p=new TsdRptTempletd();
SetActionID(1);
p->Assign(this);
AddRecord((void *)p,p->RptTempletdField);
m_Query->Next();
}
MoveFirst();
}
m_Query->Close();
return Count;
}
//---------------------------------------------------------------------------
bool TsdRptTempletd::Find(AnsiString WhereStr)
{
AnsiString m_SqlStr;
if(WhereStr.IsEmpty()==true)
throw Exception("查找表达式不能为空");
m_SqlStr="select * from sdRptTempletd 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;
}
}
//**************************************
// TsdRptSort
//**************************************
//--------------------------------------------------------------
void __fastcall TsdRptSort:: SetRptSortTemplet(AnsiString value)
{
if(value.IsEmpty())
throw Exception("模板代码不能为空");
m_RptSortTemplet=value;
}
void __fastcall TsdRptSort:: SetRptSortField(AnsiString value)
{
if(value.IsEmpty())
throw Exception("排序字段不能为空");
if (value!=m_RptSortField)
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("SELECT RptSortField FROM SDRptSort WHERE RptSortField='" +value+"' and RptSortTemplet='"+m_RptSortTemplet+"'");
m_Query->Open();
if(m_Query->RecordCount>0)
{
m_Query->Close();
throw Exception("排序字段'"+value+"'已存在");
}
m_Query->Close();
m_RptSortField=value;
}
}
void __fastcall TsdRptSort:: SetRptSortName(AnsiString value)
{
if(value.IsEmpty())
throw Exception("字段名称不能为空");
m_RptSortName=value;
}
void __fastcall TsdRptSort:: SetRptSortNo(int value)
{
m_RptSortNo=value;
}
//---------------------------------------------------------------------------
AnsiString TsdRptSort::GetFieldValue(euRptSort sdFieldName)
{
switch(sdFieldName)
{
case fiRptSortTemplet:
return RptSortTemplet;
case fiRptSortField:
return RptSortField;
case fiRptSortName:
return RptSortName;
case fiRptSortNo:
return RptSortNo;
}
throw Exception("当前字段未定义可取值");
}
//---------------------------------------------------------------------------
void TsdRptSort::SetFieldValue(euRptSort sdFieldName, AnsiString value)
{
value=Trim(value);
switch(sdFieldName)
{
case fiRptSor
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -