下面语句哪里出现问题

begin
if (Trim(edt_name.Text)<>'') and (Trim(edt_number.Text)<>'') then
begin
dm.q_stu_ins_ins.Close;
dm.q_stu_ins_ins.SQL.Clear;
dm.q_stu_ins_ins.SQL.Add('insert into tbl_base(clm_name,clm_num,clm_id,clm_addr,clm_mob,clm_mail,clm_cls_num,clm_sex)values(:t1,:t2,:t3,:t4,:t5,:t6,:t7,:t8)');
dm.q_stu_ins_ins.parameters.ParamByName('t1').Value:=trim(edt_name.text);
//trim是一个函数 用来做两端的空格
dm.q_stu_ins_ins.parameters.ParamByName('t2').value:=trim(edt_number.text);
dm.q_stu_ins_ins.parameters.ParamByName('t3').value:=trim(edt_id.text);
dm.q_stu_ins_ins.parameters.ParamByName('t4').value:=trim(edt_address.text);
dm.q_stu_ins_ins.parameters.ParamByName('t5').value:=trim(edt_mob.text);
dm.q_stu_ins_ins.parameters.ParamByName('t6').value:=trim(edt_mail.text);
dm.q_stu_ins_ins.parameters.ParamByName('t7').value:=trim(edt_cls_num.text);
dm.q_stu_ins_ins.parameters.ParamByName('t8').value:=trim(edt_sex.text);
dm.q_stu_ins_ins.ExecSQL;
DBGrid1.datasource:=dm.ds_stu_ins_grid;
dm.q_stu_INS_GRID.Active:=False;
dm.ds_stu_ins_grid.DataSet:=dm.q_stu_ins_grid;
dm.q_stu_INS_GRID.Connection:=dm.conn;
dm.q_stu_INS_GRID.SQL.Clear;
dm.q_stu_INS_GRID.SQL.Add('select * from tbl_base order by clm_r_id desc');
dm.q_stu_INS_GRID.Active:=True;
//重新列入数据
end
else
Begin
ShowMessage('姓名、学号、身份证号不能为空');
end;
end.
[Error] U_stu_ins.pas(89): ';' expected but '.' found
[Error] U_stu_ins.pas(91): Declaration expected but end of file found
[Fatal Error] stu.dpr(30): Could not compile used unit 'U_stu_ins.pas'
不知道哪里错了.

你少了一个end,方法的begin没有对应的end

1112313131313