bool TSmallTypeForm::CheckCode() { if (edtcode->Text.Length()<4) { ErrorDlg("小类代码长度必须是四位!"); edtcode->SetFocus(); return false; } else { //是否存在中类代码 strsql =AnsiString("select mt_code from dicmiddletype where mt_code='") +edtcode->Text.SubString(1,2)+"'"; if (DoQuery(dm1->Query1,strsql)) { if (dm1->Query1->IsEmpty()) { ErrorDlg("前二位中类代码不存在,请重新输入!"); edtcode->SetFocus(); return false; } } else return false; } return true; }
void __fastcall TSmallTypeForm::btnprintClick(TObject *Sender) { if (!prtform) { ErrorDlg("不能列印,请检查印表机设置!"); return; } if (cbmtype->ItemIndex<0) strsql =AnsiString("select * from dicsmalltype order by st_code "); else strsql =AnsiString("select * from dicsmalltype where st_code like '") +smtype->Strings[cbmtype->ItemIndex]+"%' order by st_code "; if (!dm1->ConnectDB()) return; if (!DoQuery(dm1->Query1,strsql)) return; if (dm1->Query1->IsEmpty()) { InfoDlg("没有可以列印的数据!"); return; } prtform->LabTitle->Caption="小类资料档"; prtform->LabCode->Caption="小类代码"; prtform->LabName->Caption="小类名称"; prtform->QRDBText1->DataField="st_code"; prtform->QRDBText2->DataField="st_name"; prtform->QuickRep1->PreviewModal(); dm1->db1->Connected=false; }
void reportSysError(LPCTSTR prefix) { TCHAR sysmsg[256], errmsg[256]; FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError(), MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), sysmsg, 256, NULL); wcsncpy(errmsg, prefix, 256); wcsncat(errmsg, _T(" "), 256); wcsncat(errmsg, sysmsg, 256); ErrorDlg(errmsg); }
void __fastcall TSmallTypeForm::btnokClick(TObject *Sender) { if (!dm1->ConnectDB()) return; switch(btnidx) { case 0://do add if (!CheckEdit()) break; if (!CheckCode()) break; strsql =AnsiString("select st_code from dicsmalltype where st_code='") +edtcode->Text+"'"; if (DoQuery(dm1->Query1,strsql)) { if (!dm1->Query1->IsEmpty()) { ErrorDlg("输入了重复的代码!"); break; } } else { SetButton(1,1,1,1,0,0,1,1); break; } strsql =AnsiString("insert into dicsmalltype values('")+edtcode->Text+"','" +edtname->Text+"')"; if (DoQuery(dm1->Query1,strsql,1)) { btnref->Click(); ClearEdit(); edtcode->SetFocus(); } break; case 1: LocateRow(); break; case 2://do modify if (ListView1->SelCount==0) { InfoDlg("请先在列表中选择要修改的项次!"); break; } if (!CheckEdit()) break; if (!CheckCode()) break; strsql =AnsiString("update dicsmalltype set st_name='") +edtname->Text+"' where st_code='" +ListView1->Selected->SubItems->Strings[0]+"'"; if (DoQuery(dm1->Query1,strsql,1)) { btnref->Click(); ClearEdit(); InfoDlg("修改完成!"); } else SetButton(1,1,1,1,0,0,1,1); break; case 3://do delete if (ListView1->SelCount==0) { InfoDlg("请先在列表中选择要删除的项次!"); break; } if (AskDlg("确实要删除该项次吗?")==IDNO) break; strsql =AnsiString("delete dicsmalltype where st_code='") +ListView1->Selected->SubItems->Strings[0]+"'"; if (DoQuery(dm1->Query1,strsql,1)) { ClearEdit(); btnref->Click(); InfoDlg("删除完成!"); } else SetButton(1,1,1,1,0,0,1,1); break; } dm1->db1->Connected=false; }