if self.Ddetail.DataSet.FieldByName('GoodID').IsNull then begin showmessage('请选择好商品!'); self.DBGridEh1.SelectedField:=self.Ddetail.DataSet.FieldByName('GoodID'); self.Ddetail.DataSet.Cancel; abort;
end;
if self.Ddetail.DataSet.FieldByName('GoodID').AsString='' then begin showmessage('请选择好商品!'); self.DBGridEh1.SelectedField:=self.Ddetail.DataSet.FieldByName('GoodID'); self.Ddetail.DataSet.Cancel; exit; end;
if self.Ddetail.DataSet.FieldByName('depotID').IsNull then begin showmessage('请选择好仓库!'); self.DBGridEh1.SelectedField:=self.Ddetail.DataSet.FieldByName('depotID'); self.Ddetail.DataSet.Cancel; exit; end;
if self.Ddetail.DataSet.FieldByName('depotID').AsString='' then begin showmessage('请选择好仓库!'); self.DBGridEh1.SelectedField:=self.Ddetail.DataSet.FieldByName('depotID'); self.Ddetail.DataSet.Cancel; exit; end;
while not self.Ddetail.DataSet.Eof do begin if trim(self.Ddetail.DataSet.FieldValues['GoodID'])=tempstr then begin tempNum:=tempNum+1; end; self.Ddetail.DataSet.Next; end;
if tempNum>1 then begin showmessage('有相同记录!'); self.Ddetail.DataSet.GotoBookmark(bk); self.Ddetail.DataSet.FreeBookmark(bk); self.Ddetail.DataSet.Edit; self.DBGridEh1.SelectedField:=self.Ddetail.DataSet.FieldByName('GoodID'); exit; end;
procedure TForm1.DBGrid1ColExit(Sender: TObject); begin if DBGrid1.SelectedField.DisplayLabel = 'a' then begin if DBGrid1.SelectedField.AsString = '' then showmessage('不能为空!'); end; end; 试试吧……我极度不擅长数据库……
procedure TForm1.Table1BeforePost(DataSet: TDataSet); var i: Integer; begin for i:=0 to Form1.DBGrid1.Columns.Count-1 do if Form1.DBGrid1.Columns[i].Field.AsString = '' then begin Application.MessageBox('保存失败,有空白字段!','错误',MB_ICONERROR + MB_OK); Abort; end; end; 或者这样试试?……