📄 optinffrm.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 + -