📄 proinffrm.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "ProInfFrm.h"
#include "MainDm.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "BaseFrm"
#pragma resource "*.dfm"
TfrmProInf *frmProInf;
//---------------------------------------------------------------------------
__fastcall TfrmProInf::TfrmProInf(TComponent* Owner)
: TfrmBase(Owner)
{}
//---------------------------------------------------------------------------
void __fastcall TfrmProInf::btnAddClick(TObject *Sender)
{
//添加一个新的产品,置清信息框
edtName->Clear();
edtPrice->Text = "0.0";
rtfRemark->Clear();
m_bNewFlag = true;
}
//---------------------------------------------------------------------------
void __fastcall TfrmProInf::btnSaveClick(TObject *Sender)
{
qryProInf->Close();
dmMain->qrySQLPlus->SQL->Clear();
String strExec;
if (m_bNewFlag)
{
strExec = "insert prdinf (name,price,remark,prdknd,prdshape) "
"values (:name,:price,:remark,:prdknd,:prdshape)";
}
else
{
String strCurId = Trim(qryProInf->Fields->Fields[0]->AsString);
strExec = "update prdinf set name=:name,price=:price,remark=:remark,"
"prdknd=:prdknd,prdshape=:prdshape "
" where id=" + strCurId;
}
dmMain->qrySQLPlus->SQL->Add(strExec);
dmMain->qrySQLPlus->Parameters->ParamByName("name")->Value
= edtName->Text;
dmMain->qrySQLPlus->Parameters->ParamByName("price")->Value
= StrToCurr(edtPrice->Text);
dmMain->qrySQLPlus->Parameters->ParamByName("remark")->Value
= rtfRemark->Text;
dmMain->qrySQLPlus->Parameters->ParamByName("prdknd")->Value
= Trim(cboPrdKnd->Text);
dmMain->qrySQLPlus->Parameters->ParamByName("prdshape")->Value
= Trim(cboPrdShape->Text);
dmMain->qrySQLPlus->ExecSQL();
qryProInf->Open();
btnSave->Enabled = true;
grdProInf->SetFocus();
GetPrdKnd();
GetPrdShape();
}
//---------------------------------------------------------------------------
void __fastcall TfrmProInf::btnDeleteClick(TObject *Sender)
{
if (MessageBox(Handle, "是否确认删除数操作?", "询问",
MB_YESNO | MB_ICONQUESTION) == IDNO)
{
return;
}
String strCurId = qryProInf->Fields->Fields[0]->AsString;
qryProInf->Close();
dmMain->qrySQLPlus->SQL->Clear();
dmMain->qrySQLPlus->SQL->Add("delete from prdinf "
"where id=" + strCurId);
dmMain->qrySQLPlus->ExecSQL();
qryProInf->Open();
btnDelete->Enabled = false;
GetPrdKnd();
GetPrdShape();
}
//---------------------------------------------------------------------------
void __fastcall TfrmProInf::edtNameChange(TObject *Sender)
{
btnSave->Enabled = true;
}
//---------------------------------------------------------------------------
void __fastcall TfrmProInf::grdProInfDblClick(TObject *Sender)
{
if (!qryProInf->Active || qryProInf->RecordCount < 1)
{
return;
}
edtName->Text = qryProInf->Fields->Fields[1]->AsString;
edtPrice->Text = qryProInf->Fields->Fields[2]->AsString;
rtfRemark->Text = qryProInf->Fields->Fields[3]->AsString;
btnDelete->Enabled = true;
btnSave->Enabled = false;
btnAdd->Enabled = true;
}
//---------------------------------------------------------------------------
void __fastcall TfrmProInf::FormShow(TObject *Sender)
{
qryProInf->Close();
qryProInf->SQL->Clear();
qryProInf->SQL->Add("select id as 产品编号, name as 产品名称, "
"price as 产品价格,prdknd as 产品体系,prdshape as 产品外形, "
"remark as 备注信息 from prdinf");
qryProInf->Open();
btnAddClick(btnAdd);
GetPrdKnd();
GetPrdShape();
//设置产品、形状索引
grdProInf->Columns->Items[5]->Visible = false;
cboPrdKnd->ItemIndex = 0;
cboPrdShape->ItemIndex = 0;
}
//---------------------------------------------------------------------------
void __fastcall TfrmProInf::edtPriceKeyPress(TObject *Sender, char &Key)
{
if (!(VK_DELETE == Key || 8 == Key || (Key >= 48 && Key <= 57)))
{
Key = 0x00;
}
}
//---------------------------------------------------------------------------
//取得产品种类
void TfrmProInf::GetPrdKnd()
{
TStrings * stlAdd = cboPrdKnd->Items;
stlAdd->Clear();
TADOQuery * qryEx = dmMain->qrySQLPlus;
qryEx->Close();
qryEx->SQL->Clear();
qryEx->SQL->Add("select prdknd from prdinf group by prdknd");
qryEx->Open();
while (!qryEx->Eof)
{
String strPrdName = Trim(qryEx->Fields->Fields[0]->AsString);
stlAdd->Add(strPrdName);
qryEx->Next();
}
qryEx->Close();
}
//取得产品形状
void TfrmProInf::GetPrdShape()
{
TStrings * stlAdd = cboPrdShape->Items;
stlAdd->Clear();
TADOQuery * qryEx = dmMain->qrySQLPlus;
qryEx->Close();
qryEx->SQL->Clear();
qryEx->SQL->Add("select prdshape from prdinf group by prdshape");
qryEx->Open();
while (!qryEx->Eof)
{
String strPrdName = Trim(qryEx->Fields->Fields[0]->AsString);
stlAdd->Add(strPrdName);
qryEx->Next();
}
qryEx->Close();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -