在Query的OnBeforePost事件来判断,如 procedure TForm1.QyBeforePost(DataSet: TDataSet); var i : integer; begin with TmpQy do begin close; sql.Clear; SQL.Text := 'select * from aTable where CodeNo='+''''+Table.FieldByName('ID').AsString+''''; open; i := RecordCount; Close; if i> 0 then begin Application.MessageBox('对不起,编码重复,请您重新输入。','提示'); Abort; end; end; end; ADO: 通过ButtonClick事件保存! begin mysql3:='select id from table where xh='''; mysql4:=''''; ADOQuery3.SQl.Clear; ADOQuery3.Close; ADOQuery3.SQL.Add(mysql3+Edit1.Text+mysql4); ADOQuery3.Open; If not ADOQuery3.eof then begin showMessage('对不起'+Edit1.Text+'已存在,请重新输入!'); Edit1.Text:=''; end else begin ADOQuery3.Close; ADOTable1.Insert; ADOTable1['a1']:=Edit6.Text; ADOTable1['a2']:=Edit1.Text; ADOTable1['a3']:=Edit5.Text; ADOTable1['a4']:=Edit3.Text; ADOTable1['a5']:=Edit4.Text; ADOTable1['a6']:=Edit2.Text; ADOTable1['a7']:=Combobox1.Text; ADOTable1.Post; end end
procedure TForm1.QyBeforePost(DataSet: TDataSet);
var i : integer;
begin
with TmpQy do
begin
close;
sql.Clear;
SQL.Text := 'select * from aTable where
CodeNo='+''''+Table.FieldByName('ID').AsString+'''';
open;
i := RecordCount;
Close;
if i> 0 then
begin
Application.MessageBox('对不起,编码重复,请您重新输入。','提示');
Abort;
end;
end;
end;
ADO:
通过ButtonClick事件保存!
begin
mysql3:='select id from table where xh=''';
mysql4:='''';
ADOQuery3.SQl.Clear;
ADOQuery3.Close;
ADOQuery3.SQL.Add(mysql3+Edit1.Text+mysql4);
ADOQuery3.Open;
If not ADOQuery3.eof then
begin
showMessage('对不起'+Edit1.Text+'已存在,请重新输入!');
Edit1.Text:='';
end
else
begin
ADOQuery3.Close;
ADOTable1.Insert;
ADOTable1['a1']:=Edit6.Text;
ADOTable1['a2']:=Edit1.Text;
ADOTable1['a3']:=Edit5.Text;
ADOTable1['a4']:=Edit3.Text;
ADOTable1['a5']:=Edit4.Text;
ADOTable1['a6']:=Edit2.Text;
ADOTable1['a7']:=Combobox1.Text;
ADOTable1.Post;
end
end