C++Builder问题
一个销售系统出库的问题:求高手指教!编译是通过了的,但是在运行的时候就直接死机了....
代码如下:
void __fastcall TForm3::Button2Click(TObject *Sender)
{
int a;
if(BH->Text=="")
{ShowMessage("仓库编号不能为空!");
BH->SetFocus();
return;
}
else if(CD->Text=="")
{ShowMessage("产地不能为空!");
CD->SetFocus();
return;
}
else if(PM->Text=="")
{ ShowMessage("品名不能为空!");
PM->SetFocus();
return;
}
else if(BM->Text=="")
{ ShowMessage("产品编码不能为空!");
BM->SetFocus();
return;
}
else if(CZ->Text=="")
{ ShowMessage("材质不能为空!");
CZ->SetFocus();
return;
}
else if(GG->Text=="")
{ ShowMessage("规格不能为空!");
GG->SetFocus();
return;
}
else if(SL->Text=="")
{ ShowMessage("出库数量不能为空!");
SL->SetFocus();
return;
}
else if(SJ->Text=="")
{ ShowMessage("出库时间不能为空!");
SJ->SetFocus();
return;
}
else if(JS->Text=="")
{ ShowMessage("经手人不能为空!");
JS->SetFocus();
return;
}
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("select * from gjxx where 产品编码=:t ");
ADOQuery1->Parameters->ParamByName("t")->Value=BM->Text;
ADOQuery1->Open();
if(ADOQuery1->Eof)
{
ShowMessage("该产品不存在!");
BM->Clear();
BH->Clear();
CD->Clear();
PM->Clear();
CZ->Clear();
GG->Clear();
SL->Clear();
SJ->Clear();
JS->Clear();
BM->SetFocus();
ADOQuery1->Close();
return;
}
else
{
a=ADOQuery1->FieldValues["件数"]-StrToInt(SL->Text);
if(a>=0)
{ADOQuery1->Edit();
ADOQuery1->FieldValues["件数"]=a;
ADOQuery1->Post();
ADOQuery1->Close();
}
else
ShowMessage("库存不够,请申请采购!");
}
ADOQuery1->Close();
//添加新记录
TLocateOptions Opts;
Opts<<loPartialKey;
ADOTable1->First();
while(!ADOTable1->Eof)
{
ADOTable1->Next();
}
ADOTable1->Insert();//准备添加
ADOTable1->FieldValues["仓库编号"]=BH->Text;
ADOTable1->FieldValues["产地"]=CD->Text;
ADOTable1->FieldValues["品名"]=PM->Text;
ADOTable1->FieldValues["产品编码"]=BM->Text;
ADOTable1->FieldValues["材质"]=CZ->Text;
ADOTable1->FieldValues["规格"]=GG->Text;
ADOTable1->FieldValues["出库数量"]=SL->Text;
ADOTable1->FieldValues["出库时间"]=SJ->Text;
ADOTable1->FieldValues["经手人"]=JS->Text;
if(MessageDlg("确认添加记录?",mtConfirmation,TMsgDlgButtons()<<mbYes<<mbNo,0)==mrYes)
ADOTable1->Post();//确认添加
else
ADOTable1->Cancel();//取消添加
BH->Clear();
CD->Clear();
PM->Clear();
CZ->Clear();
GG->Clear();
SL->Clear();
SJ->Clear();
JS->Clear();
BM->SetFocus();
ADOTable1->Post();
ShowMessage("借出记录添加成功!");
BH->Clear();
CD->Clear();
PM->Clear();
CZ->Clear();
GG->Clear();
SL->Clear();
SJ->Clear();
JS->Clear();
BM->SetFocus();
}