比如:beforepost,beforeinsert,最好要全一点,原因是:
procedure TForm1.Button1Click(Sender: TObject);
begin
with adoquery1 do
begin
Close ;
sql.Clear ;
SQL.Add('insert into table1(nn)values('''+edit1.Text+''')');
ExecSQL ;
end;
end;procedure TForm1.ADOQuery1BeforeInsert(DataSet: TDataSet);
var
i:Integer ;
begin
for i:= 1 to Length(Edit1.text) do
if (Edit1.Text[i]<'0') or (Edit1.Text[i]>'9') then
ShowMessage('这个是插入');
Abort;
end;procedure TForm1.ADOQuery1BeforePost(DataSet: TDataSet);
var
i:Integer ;
begin
for i:= 1 to Length(Edit1.text) do
if (Edit1.Text[i]<'0') or (Edit1.Text[i]>'9') then
ShowMessage('这个是插入');
Abort;
end;我
用了如上的不过程还是不能拦错
procedure TForm1.Button1Click(Sender: TObject);
begin
with adoquery1 do
begin
Close ;
sql.Clear ;
SQL.Add('insert into table1(nn)values('''+edit1.Text+''')');
ExecSQL ;
end;
end;procedure TForm1.ADOQuery1BeforeInsert(DataSet: TDataSet);
var
i:Integer ;
begin
for i:= 1 to Length(Edit1.text) do
if (Edit1.Text[i]<'0') or (Edit1.Text[i]>'9') then
ShowMessage('这个是插入');
Abort;
end;procedure TForm1.ADOQuery1BeforePost(DataSet: TDataSet);
var
i:Integer ;
begin
for i:= 1 to Length(Edit1.text) do
if (Edit1.Text[i]<'0') or (Edit1.Text[i]>'9') then
ShowMessage('这个是插入');
Abort;
end;我
用了如上的不过程还是不能拦错
begin
with adoquery1 do
begin
Close ;
sql.Clear ;
//在這個地方先判斷
SQL.Add('insert into table1(nn)values('''+edit1.Text+''')');
ExecSQL ;
end;
end;
BeforePost 在 adoquery1.Post时触发ExecSQL 是不会触发adoquery1的事件的
execsql只是一个sql语句的执行。