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

📄 optinffrm.cpp

📁 醫院管理 還不錯 醫院管理 還不錯 醫院管理 還不錯
💻 CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "OptInfFrm.h"
#include "MainDm.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "BaseFrm"
#pragma resource "*.dfm"
TfrmOptInf *frmOptInf;
//---------------------------------------------------------------------------
__fastcall TfrmOptInf::TfrmOptInf(TComponent* Owner)
        : TfrmBase(Owner)
{}
//---------------------------------------------------------------------------
void __fastcall TfrmOptInf::btnCloseClick(TObject *Sender)
{
    Close();
}
//---------------------------------------------------------------------------
void __fastcall TfrmOptInf::btnSaveClick(TObject *Sender)
{
#if 0
    if (MessageBox(Handle, "是否进行此数据操作?", "询问",
                   MB_YESNO | MB_ICONQUESTION) == IDNO)
    {
        return;
    }
#endif
    String strCurId = qryOptInf->Fields->Fields[0]->AsString;

    qryOptInf->Close();

    dmMain->qrySQLPlus->SQL->Clear();
    String strExec;
    if (m_bNewFlag)
    {
        strExec = "insert into optinf (name, birth, \
                  sex, logusr, optknd, remark) values (\
                  :name, :birth, :sex, :logusr, :optknd, :remark)";
    }
    else
    {
        strExec = "update optinf set name=:name, \
                  birth=:birth, sex=:sex,logusr=:logusr,optknd=:optknd, \
                  remark=:remark where id = " + strCurId;
    }

    dmMain->qrySQLPlus->SQL->Add(strExec);
    dmMain->qrySQLPlus->Parameters->ParamByName("name")->Value = edtName->Text;
    dmMain->qrySQLPlus->Parameters->ParamByName("birth")->Value = dtpBirth->DateTime;
    dmMain->qrySQLPlus->Parameters->ParamByName("sex")->Value = cboSex->ItemIndex;
    dmMain->qrySQLPlus->Parameters->ParamByName("logusr")->Value = edtLogon->Text;
    dmMain->qrySQLPlus->Parameters->ParamByName("optknd")->Value = \
            m_lstOptKndInx->Strings[cboOptKnd->ItemIndex];
    dmMain->qrySQLPlus->Parameters->ParamByName("remark")->Value =  \
            rtfRemark->Text;

    dmMain->qrySQLPlus->ExecSQL();


    qryOptInf->Open();

    btnAdd->Enabled = true;
    btnSave->Enabled = false;
}
//---------------------------------------------------------------------------

void __fastcall TfrmOptInf::btnAddClick(TObject *Sender)
{
    edtName->Text = "";
    //dtpBirth->DateTime = Now() - 30;
    cboSex->ItemIndex = 0;
    edtLogon->Text = "";
    cboOptKnd->ItemIndex = 0;
    rtfRemark->Text = "";

    btnAdd->Enabled = false;
    btnSave->Enabled = true;
    m_bNewFlag = true;
}
//---------------------------------------------------------------------------

void __fastcall TfrmOptInf::btnDeleteClick(TObject *Sender)
{
    if (MessageBox(Handle, "是否确认删除数操作?", "询问",
                   MB_YESNO | MB_ICONQUESTION) == IDNO)
    {
        return;
    }

    String strCurId = qryOptInf->Fields->Fields[0]->AsString;
    qryOptInf->Close();
    dmMain->qrySQLPlus->SQL->Clear();
    dmMain->qrySQLPlus->SQL->Add("delete from optInf");
    dmMain->qrySQLPlus->SQL->Add("where id = " + strCurId);
    dmMain->qrySQLPlus->ExecSQL();
    qryOptInf->Open();
}
//---------------------------------------------------------------------------

void __fastcall TfrmOptInf::FormShow(TObject *Sender)
{
    //添加工作岗位
    cboOptKnd->Clear();
    dmMain->qrySQLPlus->SQL->Clear();
    dmMain->qrySQLPlus->SQL->Add("select name, id from optknd");
    dmMain->qrySQLPlus->Open();
    m_lstOptKndInx->Clear();
    while (!dmMain->qrySQLPlus->Eof)
    {
        cboOptKnd->Items->Add(dmMain->qrySQLPlus->Fields->Fields[0]->AsString);

        m_lstOptKndInx->Add(dmMain->qrySQLPlus->Fields->Fields[1]->AsString);
        dmMain->qrySQLPlus->Next();
    }
    dmMain->qrySQLPlus->Close();

    qryOptInf->Close();

    cboSex->ItemIndex = 0;
    cboOptKnd->ItemIndex = 0;
    String strOpen = "select id as 员工编号, name as 员工姓名, \
                     birth as 出生日期, logusr as 登陆名称,\
                     sex, remark, optknd \
                     from optinf";
    qryOptInf->SQL->Clear();
    qryOptInf->SQL->Add(strOpen);
    //qryOptInf->Fields->Fields[2]->DisplayFormat = "yyyy-mm-dd";
    qryOptInf->Open();
    DBGrid1->Columns->Items[4]->Visible = false;
    DBGrid1->Columns->Items[5]->Visible = false;
    DBGrid1->Columns->Items[6]->Visible = false;

    btnAddClick(btnAdd);

}
//---------------------------------------------------------------------------


void __fastcall TfrmOptInf::FormCreate(TObject *Sender)
{
    m_lstOptKndInx = new TStringList();
}
//---------------------------------------------------------------------------

void __fastcall TfrmOptInf::FormDestroy(TObject *Sender)
{
    delete m_lstOptKndInx;
}
//---------------------------------------------------------------------------


void __fastcall TfrmOptInf::edtNameExit(TObject *Sender)
{
    if (edtLogon->Text == "")
    {
        edtLogon->Text = edtName->Text;
    }
}
//---------------------------------------------------------------------------
#define Msg ShowMessage
void __fastcall TfrmOptInf::DBGrid1DblClick(TObject *Sender)
{
    if (!qryOptInf->Active || qryOptInf->RecordCount < 1)
    {
        return;
    }
    edtName->Text = qryOptInf->Fields->Fields[1]->AsString;
#ifdef _DEBUG

    String strDisp;
    strDisp.sprintf("%d", qryOptInf->Fields->Fields[2]->AsString.Length());
    Msg(strDisp);
#endif

    dtpBirth->Date = StrToDate(Trim(qryOptInf->Fields->Fields[2]->AsString));
    edtLogon->Text = qryOptInf->Fields->Fields[3]->AsString;
    //从m_lstOptKndInx中获取值
    int nIndex = \
                 m_lstOptKndInx->IndexOf(qryOptInf->Fields->Fields[6]->AsString);
    cboSex->ItemIndex = qryOptInf->Fields->Fields[4]->AsInteger;
    rtfRemark->Text = qryOptInf->Fields->Fields[5]->AsString;
    cboOptKnd->ItemIndex = nIndex;

    m_bNewFlag = false;
    btnDelete->Enabled = true;
    btnAdd->Enabled = true;
    //-------------------------------------------------------------
}

void __fastcall TfrmOptInf::edtNameChange(TObject *Sender)
{
    btnSave->Enabled = true;
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -