为什么我执行一个insert在第一次运行的时候有错误,显示主键不能为空,但是之后再运行的话就没有错误了,这是什么问题啊?
代码:
procedure TForm9.BitBtn5Click(Sender: TObject);
begin
dbgrid2.DataSource:=datasource2;
if(Trim(Edit6.Text)='') then
 begin
    ShowMessage('系号不能为空!');
    Exit;
 end;
with Query2 do
    begin      Close;
      SQL.Clear;
      //SQL.Add(format(SQLstr,[Trim(DBEdit1.Text),Trim(DBEdit2.Text),Trim(DBEdit5.Text),DateTimePicker1.Date,Trim(DBEdit4.Text),Trim(Edit2.Text)]))
      SQL.Add('insert into department values (:depart_id,:depart_name,:college_id,:master,:relation_style,:description)');
      ParambyName('depart_id').AsString:=Trim(Edit6.Text);
      ParambyName('depart_name').AsString:=Trim(Edit7.Text);
      ParambyName('college_id').AsString:=Trim(DBLookupComboBox1.Text);
      ParambyName('master').AsString:=Trim(Edit8.Text);
      ParambyName('relation_style').AsString:=Trim(Edit9.Text);
      ParambyName('description').AsString:=Trim(Memo2.Text);
      ExecSQL;
      ShowMessage('操作已成功!');end;
     Edit6.Clear;
     Edit7.Clear;
    
     Edit8.Clear;
     Edit9.Clear;
     Memo2.Clear;      table2.Refresh;   end;