⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rpt.cpp

📁 邮 电 公 司 erp源码
💻 CPP
📖 第 1 页 / 共 5 页
字号:
    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 + -