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

📄 cpxxbunit.cpp

📁 该软件为计算机公司进销存管理系统。方便公司管理人员对进货、出货和库存产品的管理和维护。
💻 CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "CpxxbUnit.h"
#include "DModUnit.h"
#include "TzsxUnit.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TCpxxbForm *CpxxbForm;
//---------------------------------------------------------------------------
__fastcall TCpxxbForm::TCpxxbForm(TComponent* Owner)
    : TForm(Owner)
{
//    select * from cpxxb order by xh

}
//---------------------------------------------------------------------------
void __fastcall TCpxxbForm::DisplayData(AnsiString Cpbh,AnsiString ErrorStr)
{
    try
    {
        TLocateOptions Opts;

        Opts.Clear();
        Opts << loPartialKey;
        Variant locvalues[1];
        locvalues[0] = Variant(Cpbh);
        SQLStr = "select * from cpxxb order by xh";
        DMod->Query1->Close();
        DMod->Query1->SQL->Clear();
        DMod->Query1->SQL->Add(SQLStr);
        DMod->Query1->Open();

        if (! DMod->Query1->Eof)
                DMod->Query1->Locate("Cpbh", locvalues[0], Opts);
    }
    catch(...)
    {
        ShowMessage(ErrorStr);
    }

}
void __fastcall TCpxxbForm::EditJjKeyPress(TObject *Sender, char &Key)
{
    if((Key < '0' || Key > '9') && Key != VK_BACK && Key != '.') Key = 0;    
}
//---------------------------------------------------------------------------
void __fastcall TCpxxbForm::DBGrid1CellClick(TColumn *Column)
{
    try
    {
        if(!DMod->Query1->Eof){
            SelCpbh = DMod->Query1->FieldByName("cpbh")->AsString;
            EditName->Text = Trim((AnsiString)(DMod->Query1->FieldValues["name"]));
            EditCpbh->Text = Trim((AnsiString)(DMod->Query1->FieldValues["cpbh"]));
            EditJc->Text = Trim((AnsiString)(DMod->Query1->FieldValues["jc"]));
            EditJj->Text = Trim((AnsiString)(DMod->Query1->FieldValues["jj"]));
            EditSj->Text = Trim((AnsiString)(DMod->Query1->FieldValues["sj"]));
            EditPv->Text = Trim((AnsiString)(DMod->Query1->FieldValues["pv"]));
        }
    }
    catch(...)
    {
        ShowMessage("不能正确读取数据");
    }
}
int __fastcall TCpxxbForm::GetMaxXh(void)
{
    try
    {
        int Xh=0;
        DMod->QueryTemp->Close();
        DMod->QueryTemp->SQL->Clear();
        SQLStr = "select max(xh) xh from cpxxb";
        DMod->QueryTemp->SQL->Add(SQLStr);
        DMod->QueryTemp->Open();
        if(! DMod->QueryTemp->Eof){
            try
            {
                Xh = DMod->QueryTemp->FieldByName("xh")->AsInteger;
            }
            catch(...)
            {
                ;
            }             
        }
        return(Xh + 1);

    }
    catch(...)
    {
        ShowMessage("不能正确读取产品序号");
        return(0);
    }
}
//---------------------------------------------------------------------------
void __fastcall TCpxxbForm::BitBtn1Click(TObject *Sender)
{
    try
    {
        AnsiString Str;
        int Xh;
        if(EditName->Text == "" || EditCpbh->Text == ""){
            ShowMessage("产品名称和编号数量不能为空");
            return;
        }
        Xh = GetMaxXh();
        Str = "insert into cpxxb (name,cpbh,jc,jj,sj,pv,xh) values(";
        Str = Str + "'%s','%s','%s',%f,%f,%f,%d)";
        SQLStr = Format(Str,OPENARRAY(TVarRec,(EditName->Text, EditCpbh->Text,EditJc->Text,
                    StrToFloat(EditJj->Text),StrToFloat(EditSj->Text),
                    StrToFloat(EditPv->Text),Xh)));
        DMod->ExecuteSQL(SQLStr,"不能正确增加产品信息");
        DisplayData(EditCpbh->Text,"不能正确显示数据");
    }
    catch(...)
    {
        ShowMessage("不能正确增加数据");
    }
}
//---------------------------------------------------------------------------
void __fastcall TCpxxbForm::BitBtn2Click(TObject *Sender)
{
    try
    {
        AnsiString Str;
        if(SelCpbh == ""){
            ShowMessage("没有选中要更新的记录");
            return;
        }
        Str = "update cpxxb set name='%s',cpbh='%s',jc='%s',jj=%f,sj=%f,pv=%f ";
        Str = Str + "where cpbh='%s'";
        SQLStr = Format(Str,OPENARRAY(TVarRec,(EditName->Text,EditCpbh->Text,EditJc->Text,
                    StrToFloat(EditJj->Text),StrToFloat(EditSj->Text),StrToFloat(EditPv->Text),
                    SelCpbh)));
        DMod->ExecuteSQL(SQLStr,"不能正确修改信息");
        DisplayData(EditCpbh->Text,"不能正确显示数据");
    }
    catch(...)
    {
        ShowMessage("不能正确修改数据");
    }    
}
//---------------------------------------------------------------------------
void __fastcall TCpxxbForm::BitBtn3Click(TObject *Sender)
{
    try
    {
        if(SelCpbh == ""){
            ShowMessage("请选择要删除的记录");
            return;
        }
        if(Application->MessageBox("真的要删除记录吗", "提示", MB_OKCANCEL)== IDOK){

            SQLStr = Format("delete from cpxxb where cpbh='%s'",OPENARRAY(TVarRec,(SelCpbh)));
            DMod->ExecuteSQL(SQLStr,"不能正确删除数据") ;
            EditName->Text = "";
            EditCpbh->Text = "";
            EditJc->Text = "";
            EditJj->Text = "";
            EditSj->Text = "";
            EditPv->Text = "";
            DisplayData("","不能正确显示数据");
        }
    }
    catch(...)
    {
        ShowMessage("不能正确删除数据");
    }
}
//---------------------------------------------------------------------------
void __fastcall TCpxxbForm::BitBtn5Click(TObject *Sender)
{
    Close();
}
//---------------------------------------------------------------------------

void __fastcall TCpxxbForm::BitBtn4Click(TObject *Sender)
{
    try
    {
        TzsxForm = new TTzsxForm(NULL);
        DMod->Query1->First();
        TzsxForm->ListBox1->Clear();
        while (! DMod->Query1->Eof){
            TzsxForm->ListBox1->Items->Add(DMod->Query1->FieldValues["name"]);
            DMod->Query1->Next();
        }
        TzsxForm->ShowModal();
        TzsxForm->Free();
        DisplayData("","读取数据出错");
    }
    catch(...)
    {
        ShowMessage("不能正确调整顺序");
    } 
}
//---------------------------------------------------------------------------
void __fastcall TCpxxbForm::FormShow(TObject *Sender)
{
        DisplayData("","读取数据出错");
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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